0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Edge Case Analysis (Late)
28: Bounds Check Elimination
29: Shape Guard Elimination
30: GC Barrier Elimination
31: FoldLoadsWithUnbox
32: Add KeepAlive Instructions
33: Generate LIR
34: Allocate Registers [Backtracking]
0: BuildSSA
1: Prune Unused Branches
2: Fold Empty Blocks
3: Eliminate trivially dead resume point operands
4: Fold Tests
5: Split Critical Edges
6: Renumber Blocks
7: Eliminate phis
8: Replace ObjectKeys
9: Iterator Indices
10: Scalar Replacement
11: Apply types
12: Alias analysis
13: Eliminate dead resume point operands
14: GVN
15: LICM
16: Beta
17: Range Analysis
18: De-Beta
19: RA check UCE
20: Truncate Doubles
21: Sink
22: Remove Unnecessary Bitops
23: Fold Linear Arithmetic Constants
24: DCE
25: Reordering
26: Make loops contiguous
27: Remove fake loop predecessors
28: Edge Case Analysis (Late)
29: Bounds Check Elimination
30: Shape Guard Elimination
31: GC Barrier Elimination
32: FoldLoadsWithUnbox
33: Add KeepAlive Instructions
34: Generate LIR
35: Allocate Registers [Backtracking]
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Mul <- Unbox#6, Constant#5 [double] Double
8 Return <- Mul#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
9 ToDouble <- Constant#5 Double
7 Mul <- Unbox#6, ToDouble#9 [double] Double
10 Box <- Mul#7 Value
8 Return <- Box#10 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 ToDouble <- Constant#5 Double
8 Mul <- Unbox#6, ToDouble#7 [double] Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x2 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 ToDouble <- Constant#5 Double
8 Mul <- Unbox#6, ToDouble#7 [double] Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 Double
8 Mul <- Unbox#6, Constant#11 [double] Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 Double
8 Mul <- Unbox#6, Constant#11 [double] Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 Double
8 Mul <- Unbox#6, Constant#11 [double] Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 2 I[2, 2]: Double
8 Mul <- Unbox#6, Constant#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Mul#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 2 I[2, 2]: Double
7 Mul <- Unbox#5, Constant#6 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
8 Box <- Mul#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 Compare <- Unbox#6, Constant#5 Gt Bool
8 Return <- Compare#7 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
9 ToDouble <- Constant#5 Double
7 Compare <- Unbox#6, ToDouble#9 Gt Bool
10 Box <- Compare#7 Value
8 Return <- Box#10 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 ToDouble <- Constant#5 Double
8 Compare <- Unbox#6, ToDouble#7 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x32 Int32
6 Unbox Parameter#1 to Double (fallible) Double
7 ToDouble <- Constant#5 Double
8 Compare <- Unbox#6, ToDouble#7 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
11 Constant 50 I[50, 50]: Double
8 Compare <- Unbox#6, Constant#11 Gt Bool
9 Box <- Compare#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Constant 50 I[50, 50]: Double
7 Compare <- Unbox#5, Constant#6 Gt Bool
8 Box <- Compare#7 Value
9 Return <- Box#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 LoadFixedSlot <- FunctionEnvironment#6 (slot 2) Value
8 Unbox LoadFixedSlot#7 to Object (fallible) Object
9 MegamorphicLoadSlotByValue <- Unbox#8, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
11 LoadFixedSlotAndUnbox <- FunctionEnvironment#6 (slot 2) Object
9 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#11, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
11 LoadFixedSlotAndUnbox <- FunctionEnvironment#6 (slot 2) Object
9 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#11, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
11 LoadFixedSlotAndUnbox <- FunctionEnvironment#6 (slot 2) Object
9 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#11, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
11 LoadFixedSlotAndUnbox <- FunctionEnvironment#6 (slot 2) Object
9 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#11, Parameter#1 Value
10 Return <- MegamorphicLoadSlotByValue#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
10 Box <- Add#8 Value
9 Return <- Box#10 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Return <- Add#8 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
10 Box <- Add#8 Value
9 Return <- Box#10 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Unbox Parameter#1 to Double (fallible) Double
7 Unbox Parameter#2 to Double (fallible) Double
8 Add <- Unbox#6, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
9 Box <- Add#8 Value
10 Return <- Box#9 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
30 UnreachableResult Value
31 Goto -> block 2 None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
47 UnreachableResult Value
48 Bail None
49 UnreachableResult Value
50 Goto -> block 4 None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
80 UnreachableResult Value
81 Goto -> block 10 None
Block 10
82 Phi <- UnreachableResult#80, NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 15 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 13, block 14 None
1
0
Block 13
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 14 None
Block 14 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 15
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
82 Phi <- NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 15 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 13, block 14 None
1
0
Block 13
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 14 None
Block 14 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 15
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
82 Phi <- NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 15 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 13, block 14 None
1
0
Block 13
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 14 None
Block 14 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 15
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
82 Phi <- NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 15 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 13, block 14 None
1
0
Block 13
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 14 None
Block 14 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 15
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
82 Phi <- NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 15 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 13, block 14 None
1
0
Block 13
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 14 None
Block 14 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 15
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
82 Phi <- NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 15 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 13, block 16 None
1
0
Block 16 (split edge)
136 Goto -> block 14 None
Block 13
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 14 None
Block 14 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 15
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
82 Phi <- NewArrayDynamicLength#74 Value
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Unbox#9, Unbox#9 Value
89 Phi <- MinMax#18, MinMax#18 Value
90 Phi <- Phi#60, Phi#60 Value
91 Phi <- Phi#82, Phi#82 Value
92 Phi <- Constant#83, Add#130 Value
93 Phi <- Constant#2, Phi#127 Value
94 Phi <- Parameter#0, Parameter#0 Value
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox Phi#89 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 16 None
1
0
Block 12
101 Unbox Phi#88 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 14, block 13 None
1
0
Block 13 (split edge)
136 Goto -> block 15 None
Block 14
111 Unbox Phi#88 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Phi#87, Phi#90, LoadElement#119, Phi#92, Phi#88 Value
121 Unbox Phi#91 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 15 None
Block 15 (backedge)
127 Phi <- Call#120, Phi#93 Value
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 16
132 Return <- Phi#91 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
92 Phi <- Constant#83, Add#130 Value
137 Constant magic optimized-out MagicOptimizedOut
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox MinMax#18 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 16 None
1
0
Block 12
142 Constant magic optimized-out MagicOptimizedOut
101 Unbox Unbox#9 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 14, block 13 None
1
0
Block 13 (split edge)
139 Constant magic optimized-out MagicOptimizedOut
136 Goto -> block 15 None
Block 14
141 Constant magic optimized-out MagicOptimizedOut
111 Unbox Unbox#9 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value
121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 15 None
Block 15 (backedge)
138 Constant magic optimized-out MagicOptimizedOut
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 16
140 Constant magic optimized-out MagicOptimizedOut
132 Return <- NewArrayDynamicLength#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
92 Phi <- Constant#83, Add#130 Value
137 Constant magic optimized-out MagicOptimizedOut
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox MinMax#18 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 16 None
1
0
Block 12
142 Constant magic optimized-out MagicOptimizedOut
101 Unbox Unbox#9 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 14, block 13 None
1
0
Block 13 (split edge)
139 Constant magic optimized-out MagicOptimizedOut
136 Goto -> block 15 None
Block 14
141 Constant magic optimized-out MagicOptimizedOut
111 Unbox Unbox#9 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value
121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 15 None
Block 15 (backedge)
138 Constant magic optimized-out MagicOptimizedOut
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 16
140 Constant magic optimized-out MagicOptimizedOut
132 Return <- NewArrayDynamicLength#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
92 Phi <- Constant#83, Add#130 Value
137 Constant magic optimized-out MagicOptimizedOut
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox MinMax#18 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 16 None
1
0
Block 12
142 Constant magic optimized-out MagicOptimizedOut
101 Unbox Unbox#9 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 14, block 13 None
1
0
Block 13 (split edge)
139 Constant magic optimized-out MagicOptimizedOut
136 Goto -> block 15 None
Block 14
141 Constant magic optimized-out MagicOptimizedOut
111 Unbox Unbox#9 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value
121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 15 None
Block 15 (backedge)
138 Constant magic optimized-out MagicOptimizedOut
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 16
140 Constant magic optimized-out MagicOptimizedOut
132 Return <- NewArrayDynamicLength#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
68 DebugCheckSelfHosted <- Constant#67 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
92 Phi <- Constant#83, Add#130 Value
137 Constant magic optimized-out MagicOptimizedOut
96 InterruptCheck None
97 Unbox Phi#92 to Int32 (fallible) Int32
98 Unbox MinMax#18 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 16 None
1
0
Block 12
142 Constant magic optimized-out MagicOptimizedOut
101 Unbox Unbox#9 to Object (fallible) Object
102 Unbox Phi#92 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 14, block 13 None
1
0
Block 13 (split edge)
139 Constant magic optimized-out MagicOptimizedOut
136 Goto -> block 15 None
Block 14
141 Constant magic optimized-out MagicOptimizedOut
111 Unbox Unbox#9 to Object (fallible) Object
112 Unbox Phi#92 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
120 Call <- Parameter#1, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value
121 Unbox NewArrayDynamicLength#74 to Object (fallible) Object
122 Unbox Phi#92 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 15 None
Block 15 (backedge)
138 Constant magic optimized-out MagicOptimizedOut
128 Unbox Phi#92 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 16
140 Constant magic optimized-out MagicOptimizedOut
132 Return <- NewArrayDynamicLength#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
143 Box <- Constant#5 Value
6 DebugCheckSelfHosted <- Box#143 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
144 Box <- Constant#10 Value
11 DebugCheckSelfHosted <- Box#144 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c2e080 String
29 Bail None
135 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
145 Box <- Constant#32 Value
33 DebugCheckSelfHosted <- Box#145 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
134 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
146 Box <- Constant#58 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#146, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
147 Box <- Constant#61 Value
62 DebugCheckSelfHosted <- Box#147 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant function std_Array at 104289c6c820 Object
148 Box <- Constant#67 Value
68 DebugCheckSelfHosted <- Box#148 Value
69 Constant undefined Undefined
70 Constant 0x1 Int32
71 Unbox DebugCheckSelfHosted#68 to Object (fallible) Object
72 Constant function std_Array at 104289c6c820 Object
73 GuardSpecificFunction <- Unbox#71, Constant#72 Object
74 NewArrayDynamicLength <- MinMax#18 Object
75 Goto -> block 10 None
Block 9
76 CallGetIntrinsicValue Value
77 DebugCheckSelfHosted <- CallGetIntrinsicValue#76 Value
78 Constant undefined Undefined
79 Bail None
133 Unreachable None
Block 10
83 Constant 0x0 Int32
95 Goto -> block 11 None
Block 11 (loop header)
92 Phi <- Constant#83, Add#130 Int32
137 Constant magic optimized-out MagicOptimizedOut
96 InterruptCheck None
149 Box <- Phi#92 Value
97 Unbox Box#149 to Int32 (fallible) Int32
150 Box <- MinMax#18 Value
98 Unbox Box#150 to Int32 (fallible) Int32
99 Compare <- Unbox#97, Unbox#98 Lt Bool
100 Test <- Compare#99 -> block 12, block 16 None
1
0
Block 12
142 Constant magic optimized-out MagicOptimizedOut
151 Box <- Unbox#9 Value
101 Unbox Box#151 to Object (fallible) Object
152 Box <- Phi#92 Value
102 Unbox Box#152 to Int32 (fallible) Int32
103 GuardShape <- Unbox#101 Object
104 Elements <- GuardShape#103 Elements
105 InitializedLength <- Elements#104 Int32
106 BoundsCheck <- Unbox#102, InitializedLength#105 Int32
107 SpectreMaskIndex <- BoundsCheck#106, InitializedLength#105 Int32
108 GuardElementNotHole <- Elements#104, SpectreMaskIndex#107 None
109 Constant true Bool
110 Test <- Constant#109 -> block 14, block 13 None
1
0
Block 13 (split edge)
139 Constant magic optimized-out MagicOptimizedOut
136 Goto -> block 15 None
Block 14
141 Constant magic optimized-out MagicOptimizedOut
153 Box <- Unbox#9 Value
111 Unbox Box#153 to Object (fallible) Object
154 Box <- Phi#92 Value
112 Unbox Box#154 to Int32 (fallible) Int32
113 GuardShape <- Unbox#111 Object
114 Elements <- GuardShape#113 Elements
115 InitializedLength <- Elements#114 Int32
116 BoundsCheck <- Unbox#112, InitializedLength#115 Int32
117 SpectreMaskIndex <- BoundsCheck#116, InitializedLength#115 Int32
118 GuardElementsArePacked <- Elements#114 None
119 LoadElement <- Elements#114, SpectreMaskIndex#117 Value
155 Unbox Parameter#1 to Object (fallible) Object
120 Call <- Unbox#155, Phi#60, LoadElement#119, Phi#92, Unbox#9 Value
156 Box <- NewArrayDynamicLength#74 Value
121 Unbox Box#156 to Object (fallible) Object
157 Box <- Phi#92 Value
122 Unbox Box#157 to Int32 (fallible) Int32
123 GuardShape <- Unbox#121 Object
124 Elements <- GuardShape#123 Elements
125 StoreElementHole <- GuardShape#123, Elements#124, Unbox#122, Call#120 None
126 Goto -> block 15 None
Block 15 (backedge)
138 Constant magic optimized-out MagicOptimizedOut
158 Box <- Phi#92 Value
128 Unbox Box#158 to Int32 (fallible) Int32
129 Constant 0x1 Int32
130 Add <- Unbox#128, Constant#129 [int32] Int32
131 Goto -> block 11 None
Block 16
140 Constant magic optimized-out MagicOptimizedOut
159 Box <- NewArrayDynamicLength#74 Value
132 Return <- Box#159 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Constant undefined Undefined
9 Constant 0x1 Int32
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
14 Constant undefined Undefined
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
18 Constant 0x1 Int32
19 Constant 0x0 Int32
20 MinMax <- ArrayLength#17, Constant#19 (max) Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
27 Constant undefined Undefined
28 Constant 0x37 Int32
29 Constant 0x0 Int32
30 Constant string 104289c2e080 String
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
36 Constant undefined Undefined
37 Constant 0x1 Int32
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
42 Constant undefined Undefined
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
46 Constant undefined Undefined
47 Constant 0x0 Int32
48 Bail None
49 Unreachable None
Block 4
50 ArgumentsLength Int32
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#50, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
54 Constant 0x1 Int32
55 GetFrameArgument <- Constant#54 Value
56 Goto -> block 7 None
Block 6
57 Constant undefined Undefined
58 Box <- Constant#57 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
64 Constant undefined Undefined
65 Constant 0x1 Int32
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
71 Constant undefined Undefined
72 Constant 0x1 Int32
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
74 Constant function std_Array at 104289c6c820 Object
75 GuardSpecificFunction <- Unbox#73, Constant#74 Object
76 NewArrayDynamicLength <- MinMax#20 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
80 Constant undefined Undefined
81 Bail None
82 Unreachable None
Block 10
83 Constant 0x0 Int32
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#83, Add#135 Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
88 Box <- Phi#85 Value
89 Unbox Box#88 to Int32 (fallible) Int32
90 Box <- MinMax#20 Value
91 Unbox Box#90 to Int32 (fallible) Int32
92 Compare <- Unbox#89, Unbox#91 Lt Bool
93 Test <- Compare#92 -> block 12, block 16 None
1
0
Block 12
94 Constant magic optimized-out MagicOptimizedOut
95 Box <- Unbox#10 Value
96 Unbox Box#95 to Object (fallible) Object
97 Box <- Phi#85 Value
98 Unbox Box#97 to Int32 (fallible) Int32
99 GuardShape <- Unbox#96 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 Int32
102 BoundsCheck <- Unbox#98, InitializedLength#101 Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
105 Constant true Bool
106 Test <- Constant#105 -> block 14, block 13 None
1
0
Block 13 (split edge)
107 Constant magic optimized-out MagicOptimizedOut
108 Goto -> block 15 None
Block 14
109 Constant magic optimized-out MagicOptimizedOut
110 Box <- Unbox#10 Value
111 Unbox Box#110 to Object (fallible) Object
112 Box <- Phi#85 Value
113 Unbox Box#112 to Int32 (fallible) Int32
114 GuardShape <- Unbox#111 Object
115 Elements <- GuardShape#114 Elements
116 InitializedLength <- Elements#115 Int32
117 BoundsCheck <- Unbox#113, InitializedLength#116 Int32
118 SpectreMaskIndex <- BoundsCheck#117, InitializedLength#116 Int32
119 GuardElementsArePacked <- Elements#115 None
120 LoadElement <- Elements#115, SpectreMaskIndex#118 Value
121 Unbox Parameter#1 to Object (fallible) Object
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
123 Box <- NewArrayDynamicLength#76 Value
124 Unbox Box#123 to Object (fallible) Object
125 Box <- Phi#85 Value
126 Unbox Box#125 to Int32 (fallible) Int32
127 GuardShape <- Unbox#124 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Unbox#126, Call#122 None
130 Goto -> block 15 None
Block 15 (backedge)
131 Constant magic optimized-out MagicOptimizedOut
132 Box <- Phi#85 Value
133 Unbox Box#132 to Int32 (fallible) Int32
134 Constant 0x1 Int32
135 Add <- Unbox#133, Constant#134 [int32] Int32
136 Goto -> block 11 None
Block 16
137 Constant magic optimized-out MagicOptimizedOut
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Constant undefined Undefined
9 Constant 0x1 Int32
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
14 Constant undefined Undefined
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
18 Constant 0x1 Int32
19 Constant 0x0 Int32
20 MinMax <- ArrayLength#17, Constant#19 (max) Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
27 Constant undefined Undefined
28 Constant 0x37 Int32
29 Constant 0x0 Int32
30 Constant string 104289c2e080 String
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
36 Constant undefined Undefined
37 Constant 0x1 Int32
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
42 Constant undefined Undefined
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
46 Constant undefined Undefined
47 Constant 0x0 Int32
48 Bail None
49 Unreachable None
Block 4
50 ArgumentsLength Int32
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#50, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
54 Constant 0x1 Int32
55 GetFrameArgument <- Constant#54 Value
56 Goto -> block 7 None
Block 6
57 Constant undefined Undefined
58 Box <- Constant#57 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
64 Constant undefined Undefined
65 Constant 0x1 Int32
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
71 Constant undefined Undefined
72 Constant 0x1 Int32
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
74 Constant function std_Array at 104289c6c820 Object
75 GuardSpecificFunction <- Unbox#73, Constant#74 Object
76 NewArrayDynamicLength <- MinMax#20 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
80 Constant undefined Undefined
81 Bail None
82 Unreachable None
Block 10
83 Constant 0x0 Int32
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#83, Add#135 Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
88 Box <- Phi#85 Value
89 Unbox Box#88 to Int32 (fallible) Int32
90 Box <- MinMax#20 Value
91 Unbox Box#90 to Int32 (fallible) Int32
92 Compare <- Unbox#89, Unbox#91 Lt Bool
93 Test <- Compare#92 -> block 12, block 16 None
1
0
Block 12
94 Constant magic optimized-out MagicOptimizedOut
95 Box <- Unbox#10 Value
96 Unbox Box#95 to Object (fallible) Object
97 Box <- Phi#85 Value
98 Unbox Box#97 to Int32 (fallible) Int32
99 GuardShape <- Unbox#96 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 Int32
102 BoundsCheck <- Unbox#98, InitializedLength#101 Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
105 Constant true Bool
106 Test <- Constant#105 -> block 14, block 13 None
1
0
Block 13 (split edge)
107 Constant magic optimized-out MagicOptimizedOut
108 Goto -> block 15 None
Block 14
109 Constant magic optimized-out MagicOptimizedOut
110 Box <- Unbox#10 Value
111 Unbox Box#110 to Object (fallible) Object
112 Box <- Phi#85 Value
113 Unbox Box#112 to Int32 (fallible) Int32
114 GuardShape <- Unbox#111 Object
115 Elements <- GuardShape#114 Elements
116 InitializedLength <- Elements#115 Int32
117 BoundsCheck <- Unbox#113, InitializedLength#116 Int32
118 SpectreMaskIndex <- BoundsCheck#117, InitializedLength#116 Int32
119 GuardElementsArePacked <- Elements#115 None
120 LoadElement <- Elements#115, SpectreMaskIndex#118 Value
121 Unbox Parameter#1 to Object (fallible) Object
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
123 Box <- NewArrayDynamicLength#76 Value
124 Unbox Box#123 to Object (fallible) Object
125 Box <- Phi#85 Value
126 Unbox Box#125 to Int32 (fallible) Int32
127 GuardShape <- Unbox#124 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Unbox#126, Call#122 None
130 Goto -> block 15 None
Block 15 (backedge)
131 Constant magic optimized-out MagicOptimizedOut
132 Box <- Phi#85 Value
133 Unbox Box#132 to Int32 (fallible) Int32
134 Constant 0x1 Int32
135 Add <- Unbox#133, Constant#134 [int32] Int32
136 Goto -> block 11 None
Block 16
137 Constant magic optimized-out MagicOptimizedOut
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
121 Unbox Parameter#1 to Object (fallible) Object
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
166 Beta <- ArgumentsLength#21 I[0, 0] Int32
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
165 Beta <- ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) Int32
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 Int32
52 Compare <- Beta#165, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
164 Beta <- Beta#165 F[2, ?] (U Infinity) Int32
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
163 Beta <- Beta#165 F[?, 1] (U NaN U -Infinity U -0) Int32
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
162 Beta <- ArrayLength#17 I[-2147483647, 2147483647] Int32
161 Beta <- Phi#85 I[-2147483648, 2147483646] Int32
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 Int32
102 BoundsCheck <- Beta#161, InitializedLength#101 Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Beta#161, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Beta#161, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Beta#161, Constant#51 [int32] Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
166 Beta <- ArgumentsLength#21 I[0, 0] I[0, 0]: Int32
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
165 Beta <- ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 500000]: Int32
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- Beta#165, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
164 Beta <- Beta#165 F[2, ?] (U Infinity) I[2, 500000]: Int32
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
163 Beta <- Beta#165 F[?, 1] (U NaN U -Infinity U -0) I[0, 1] (U -0): Int32
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
162 Beta <- ArrayLength#17 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
161 Beta <- Phi#85 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Beta#161, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Beta#161, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Beta#161, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Beta#161, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant function std_Array at 104289c6c820 Object
69 Box <- Constant#68 Value
70 DebugCheckSelfHosted <- Box#69 Value
73 Unbox DebugCheckSelfHosted#70 to Object (fallible) Object
75 GuardSpecificFunction <- Unbox#73, Constant#68 Object
76 NewArrayDynamicLength <- ArrayLength#17 Object
77 Goto -> block 10 None
Block 9
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
81 Bail None
82 Unreachable None
Block 10
121 Unbox Parameter#1 to Object (fallible) Object
84 Goto -> block 11 None
Block 11 (loop header)
85 Phi <- Constant#22, Add#135 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
86 Constant magic optimized-out MagicOptimizedOut
87 InterruptCheck None
92 Compare <- Phi#85, ArrayLength#17 Lt Bool
93 Test <- Compare#92 -> block 12, block 15 None
1
0
Block 12
99 GuardShape <- Unbox#10 Object
100 Elements <- GuardShape#99 Elements
101 InitializedLength <- Elements#100 I[0, 268435453]: Int32
102 BoundsCheck <- Phi#85, InitializedLength#101 I[0, 2147483646]: Int32
103 SpectreMaskIndex <- BoundsCheck#102, InitializedLength#101 I[0, 2147483646]: Int32
104 GuardElementNotHole <- Elements#100, SpectreMaskIndex#103 None
160 Goto -> block 13 None
Block 13
119 GuardElementsArePacked <- Elements#100 None
120 LoadElement <- Elements#100, SpectreMaskIndex#103 Value
122 Call <- Unbox#121, Phi#60, LoadElement#120, Phi#85, Unbox#10 Value
127 GuardShape <- NewArrayDynamicLength#76 Object
128 Elements <- GuardShape#127 Elements
129 StoreElementHole <- GuardShape#127, Elements#128, Phi#85, Call#122 None
130 Goto -> block 14 None
Block 14 (backedge)
135 Add <- Phi#85, Constant#51 [int32] I[1, 2147483647]: Int32
136 Goto -> block 11 None
Block 15
138 Box <- NewArrayDynamicLength#76 Value
139 Return <- Box#138 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- BoundsCheck#69, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- BoundsCheck#69, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- BoundsCheck#69, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
167 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
168 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
173 DebugEnterGCUnsafeRegion None
171 DebugEnterGCUnsafeRegion None
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
174 DebugLeaveGCUnsafeRegion None
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
172 DebugLeaveGCUnsafeRegion None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
170 KeepAliveObject <- GuardShape#66 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
169 KeepAliveObject <- GuardShape#66 None
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
167 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
168 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox Box#49 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
173 DebugEnterGCUnsafeRegion None
171 DebugEnterGCUnsafeRegion None
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
174 DebugLeaveGCUnsafeRegion None
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
172 DebugLeaveGCUnsafeRegion None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
170 KeepAliveObject <- GuardShape#66 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
169 KeepAliveObject <- GuardShape#66 None
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
167 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
168 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox Box#49 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#14 Object
54 Goto -> block 10 None
Block 9
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 10
59 Unbox Parameter#1 to Object (fallible) Object
60 Goto -> block 11 None
Block 11 (loop header)
61 Phi <- Constant#16, Add#80 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
62 Constant magic optimized-out MagicOptimizedOut
63 InterruptCheck None
64 Compare <- Phi#61, ArrayLength#14 Lt Bool
65 Test <- Compare#64 -> block 12, block 15 None
1
0
Block 12
66 GuardShape <- Unbox#8 Object
67 Elements <- GuardShape#66 Elements
173 DebugEnterGCUnsafeRegion None
171 DebugEnterGCUnsafeRegion None
68 InitializedLength <- Elements#67 I[0, 268435453]: Int32
174 DebugLeaveGCUnsafeRegion None
69 BoundsCheck <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
70 SpectreMaskIndex <- Phi#61, InitializedLength#68 I[0, 2147483646]: Int32
71 GuardElementNotHole <- Elements#67, SpectreMaskIndex#70 None
172 DebugLeaveGCUnsafeRegion None
72 Goto -> block 13 None
Block 13
73 GuardElementsArePacked <- Elements#67 None
170 KeepAliveObject <- GuardShape#66 None
74 LoadElement <- Elements#67, SpectreMaskIndex#70 Value
169 KeepAliveObject <- GuardShape#66 None
75 Call <- Unbox#59, Phi#42, LoadElement#74, Phi#61, Unbox#8 Value
76 GuardShape <- NewArrayDynamicLength#53 Object
77 Elements <- GuardShape#76 Elements
78 StoreElementHole <- GuardShape#76, Elements#77, Phi#61, Call#75 None
79 Goto -> block 14 None
Block 14 (backedge)
80 Add <- Phi#61, Constant#35 [int32] I[1, 2147483647]: Int32
81 Goto -> block 11 None
Block 15
82 Box <- NewArrayDynamicLength#53 Value
83 Return <- Box#82 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
30 UnreachableResult Value
31 Goto -> block 2 None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
47 UnreachableResult Value
48 Bail None
49 UnreachableResult Value
50 Goto -> block 4 None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 16 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
67 UnreachableResult Value
68 Throw <- UnreachableResult#67 None
69 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9 (loop header)
71 Phi <- Constant#2, Constant#2 Value
72 Phi <- Constant#2, Constant#2 Value
73 Phi <- Parameter#0, Parameter#0 Value
74 Phi <- Parameter#1, Parameter#1 Value
75 Phi <- Unbox#9, Unbox#9 Value
76 Phi <- MinMax#18, MinMax#18 Value
77 Phi <- Constant#51, UnreachableResult#91 Value
78 Phi <- Constant#2, Constant#2 Value
79 Phi <- Constant#70, Constant#70 Value
80 Phi <- Parameter#0, Parameter#0 Value
82 InterruptCheck None
83 Bail None
84 UnreachableResult Bool
85 Test <- UnreachableResult#84 -> block 10, block 11 None
1
0
Block 10
86 Constant true Bool
87 Goto -> block 13 None
Block 11
88 Bail None
89 UnreachableResult Value
90 Bail None
91 UnreachableResult Value
92 Bail None
93 UnreachableResult Bool
94 Test <- UnreachableResult#93 -> block 12, block 13 None
1
0
Block 12 (backedge)
95 Goto -> block 9 None
Block 13
96 Phi <- Phi#77, UnreachableResult#91 Value
97 Phi <- Constant#86, Phi#79 Value
98 Test <- Phi#97 -> block 15, block 14 None
1
0
Block 14
99 CallGetIntrinsicValue Value
100 DebugCheckSelfHosted <- CallGetIntrinsicValue#99 Value
101 Constant undefined Undefined
102 Constant 0x34 Int32
103 Bail None
104 UnreachableResult Value
105 Throw <- UnreachableResult#104 None
106 Unreachable None
Block 15
107 Bail None
108 UnreachableResult Value
109 Bail None
110 UnreachableResult Value
111 Bail None
112 UnreachableResult Value
113 Goto -> block 16 None
Block 16
114 Phi <- Phi#71, Constant#2 Value
115 Phi <- Phi#72, Constant#2 Value
116 Phi <- Phi#73, Parameter#0 Value
117 Phi <- Phi#74, Parameter#1 Value
118 Phi <- Phi#75, Unbox#9 Value
119 Phi <- Phi#76, MinMax#18 Value
120 Phi <- UnreachableResult#110, Constant#51 Value
121 Phi <- UnreachableResult#112, GetFrameArgument#57 Value
122 Phi <- Phi#97, Constant#2 Value
123 Phi <- Phi#80, Parameter#0 Value
134 Goto -> block 17 None
Block 17 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 18, block 21 None
1
0
Block 18
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 19, block 20 None
1
0
Block 19
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 20 None
Block 20 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 17 None
Block 21
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 16 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
71 Phi <- Constant#2 Value
72 Phi <- Constant#2 Value
73 Phi <- Parameter#0 Value
74 Phi <- Parameter#1 Value
75 Phi <- Unbox#9 Value
76 Phi <- MinMax#18 Value
77 Phi <- Constant#51 Value
78 Phi <- Constant#2 Value
79 Phi <- Constant#70 Value
80 Phi <- Parameter#0 Value
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 16
114 Phi <- Constant#2 Value
115 Phi <- Constant#2 Value
116 Phi <- Parameter#0 Value
117 Phi <- Parameter#1 Value
118 Phi <- Unbox#9 Value
119 Phi <- MinMax#18 Value
120 Phi <- Constant#51 Value
121 Phi <- GetFrameArgument#57 Value
122 Phi <- Constant#2 Value
123 Phi <- Parameter#0 Value
134 Goto -> block 17 None
Block 17 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 18, block 21 None
1
0
Block 18
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 19, block 20 None
1
0
Block 19
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 20 None
Block 20 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 17 None
Block 21
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 16 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
71 Phi <- Constant#2 Value
72 Phi <- Constant#2 Value
73 Phi <- Parameter#0 Value
74 Phi <- Parameter#1 Value
75 Phi <- Unbox#9 Value
76 Phi <- MinMax#18 Value
77 Phi <- Constant#51 Value
78 Phi <- Constant#2 Value
79 Phi <- Constant#70 Value
80 Phi <- Parameter#0 Value
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 16
114 Phi <- Constant#2 Value
115 Phi <- Constant#2 Value
116 Phi <- Parameter#0 Value
117 Phi <- Parameter#1 Value
118 Phi <- Unbox#9 Value
119 Phi <- MinMax#18 Value
120 Phi <- Constant#51 Value
121 Phi <- GetFrameArgument#57 Value
122 Phi <- Constant#2 Value
123 Phi <- Parameter#0 Value
134 Goto -> block 17 None
Block 17 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 18, block 21 None
1
0
Block 18
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 19, block 20 None
1
0
Block 19
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 20 None
Block 20 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 17 None
Block 21
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 16 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
71 Phi <- Constant#2 Value
72 Phi <- Constant#2 Value
73 Phi <- Parameter#0 Value
74 Phi <- Parameter#1 Value
75 Phi <- Unbox#9 Value
76 Phi <- MinMax#18 Value
77 Phi <- Constant#51 Value
78 Phi <- Constant#2 Value
79 Phi <- Constant#70 Value
80 Phi <- Parameter#0 Value
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 16
114 Phi <- Constant#2 Value
115 Phi <- Constant#2 Value
116 Phi <- Parameter#0 Value
117 Phi <- Parameter#1 Value
118 Phi <- Unbox#9 Value
119 Phi <- MinMax#18 Value
120 Phi <- Constant#51 Value
121 Phi <- GetFrameArgument#57 Value
122 Phi <- Constant#2 Value
123 Phi <- Parameter#0 Value
134 Goto -> block 17 None
Block 17 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 18, block 21 None
1
0
Block 18
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 19, block 20 None
1
0
Block 19
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 20 None
Block 20 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 17 None
Block 21
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 16 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
71 Phi <- Constant#2 Value
72 Phi <- Constant#2 Value
73 Phi <- Parameter#0 Value
74 Phi <- Parameter#1 Value
75 Phi <- Unbox#9 Value
76 Phi <- MinMax#18 Value
77 Phi <- Constant#51 Value
78 Phi <- Constant#2 Value
79 Phi <- Constant#70 Value
80 Phi <- Parameter#0 Value
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 16
114 Phi <- Constant#2 Value
115 Phi <- Constant#2 Value
116 Phi <- Parameter#0 Value
117 Phi <- Parameter#1 Value
118 Phi <- Unbox#9 Value
119 Phi <- MinMax#18 Value
120 Phi <- Constant#51 Value
121 Phi <- GetFrameArgument#57 Value
122 Phi <- Constant#2 Value
123 Phi <- Parameter#0 Value
134 Goto -> block 17 None
Block 17 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 18, block 21 None
1
0
Block 18
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 19, block 20 None
1
0
Block 19
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 20 None
Block 20 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 17 None
Block 21
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 16 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
71 Phi <- Constant#2 Value
72 Phi <- Constant#2 Value
73 Phi <- Parameter#0 Value
74 Phi <- Parameter#1 Value
75 Phi <- Unbox#9 Value
76 Phi <- MinMax#18 Value
77 Phi <- Constant#51 Value
78 Phi <- Constant#2 Value
79 Phi <- Constant#70 Value
80 Phi <- Parameter#0 Value
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 16
114 Phi <- Constant#2 Value
115 Phi <- Constant#2 Value
116 Phi <- Parameter#0 Value
117 Phi <- Parameter#1 Value
118 Phi <- Unbox#9 Value
119 Phi <- MinMax#18 Value
120 Phi <- Constant#51 Value
121 Phi <- GetFrameArgument#57 Value
122 Phi <- Constant#2 Value
123 Phi <- Parameter#0 Value
134 Goto -> block 17 None
Block 17 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 18, block 21 None
1
0
Block 18
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 19, block 22 None
1
0
Block 22 (split edge)
172 Goto -> block 20 None
Block 19
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 20 None
Block 20 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 17 None
Block 21
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 10 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
71 Phi <- Constant#2 Value
72 Phi <- Constant#2 Value
73 Phi <- Parameter#0 Value
74 Phi <- Parameter#1 Value
75 Phi <- Unbox#9 Value
76 Phi <- MinMax#18 Value
77 Phi <- Constant#51 Value
78 Phi <- Constant#2 Value
79 Phi <- Constant#70 Value
80 Phi <- Parameter#0 Value
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 10
114 Phi <- Constant#2 Value
115 Phi <- Constant#2 Value
116 Phi <- Parameter#0 Value
117 Phi <- Parameter#1 Value
118 Phi <- Unbox#9 Value
119 Phi <- MinMax#18 Value
120 Phi <- Constant#51 Value
121 Phi <- GetFrameArgument#57 Value
122 Phi <- Constant#2 Value
123 Phi <- Parameter#0 Value
134 Goto -> block 11 None
Block 11 (loop header)
124 Phi <- Phi#114, Phi#114 Value
125 Phi <- Phi#115, Phi#115 Value
126 Phi <- Phi#116, Phi#116 Value
127 Phi <- Phi#117, Phi#117 Value
128 Phi <- Phi#118, Phi#118 Value
129 Phi <- Phi#119, Phi#119 Value
130 Phi <- Phi#120, Add#165 Value
131 Phi <- Phi#121, Phi#162 Value
132 Phi <- Phi#122, Phi#122 Value
133 Phi <- Phi#123, Phi#123 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox Phi#129 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 12, block 16 None
1
0
Block 12
140 Unbox Phi#128 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 14, block 13 None
1
0
Block 13 (split edge)
172 Goto -> block 15 None
Block 14
150 Constant undefined Undefined
151 Unbox Phi#128 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Phi#127, Constant#150, Phi#131, LoadElement#159, Phi#130, Phi#128 Value
161 Goto -> block 15 None
Block 15 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 11 None
Block 16
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 10 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 10
134 Goto -> block 11 None
Block 11 (loop header)
130 Phi <- Constant#51, Add#165 Value
131 Phi <- GetFrameArgument#57, Phi#162 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox MinMax#18 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 12, block 16 None
1
0
Block 12
140 Unbox Unbox#9 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 14, block 13 None
1
0
Block 13 (split edge)
172 Goto -> block 15 None
Block 14
150 Constant undefined Undefined
151 Unbox Unbox#9 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value
161 Goto -> block 15 None
Block 15 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 11 None
Block 16
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 10 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 10
134 Goto -> block 11 None
Block 11 (loop header)
130 Phi <- Constant#51, Add#165 Value
131 Phi <- GetFrameArgument#57, Phi#162 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox MinMax#18 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 12, block 16 None
1
0
Block 12
140 Unbox Unbox#9 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 14, block 13 None
1
0
Block 13 (split edge)
172 Goto -> block 15 None
Block 14
150 Constant undefined Undefined
151 Unbox Unbox#9 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value
161 Goto -> block 15 None
Block 15 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 11 None
Block 16
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 10 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 10
134 Goto -> block 11 None
Block 11 (loop header)
130 Phi <- Constant#51, Add#165 Value
131 Phi <- GetFrameArgument#57, Phi#162 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox MinMax#18 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 12, block 16 None
1
0
Block 12
140 Unbox Unbox#9 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 14, block 13 None
1
0
Block 13 (split edge)
172 Goto -> block 15 None
Block 14
150 Constant undefined Undefined
151 Unbox Unbox#9 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value
161 Goto -> block 15 None
Block 15 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 11 None
Block 16
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 10 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 10
134 Goto -> block 11 None
Block 11 (loop header)
130 Phi <- Constant#51, Add#165 Value
131 Phi <- GetFrameArgument#57, Phi#162 Value
135 InterruptCheck None
136 Unbox Phi#130 to Int32 (fallible) Int32
137 Unbox MinMax#18 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 12, block 16 None
1
0
Block 12
140 Unbox Unbox#9 to Object (fallible) Object
141 Unbox Phi#130 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 14, block 13 None
1
0
Block 13 (split edge)
172 Goto -> block 15 None
Block 14
150 Constant undefined Undefined
151 Unbox Unbox#9 to Object (fallible) Object
152 Unbox Phi#130 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
160 Call <- Parameter#1, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value
161 Goto -> block 15 None
Block 15 (backedge)
162 Phi <- Call#160, Phi#131 Value
163 Unbox Phi#130 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 11 None
Block 16
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
173 Box <- Constant#5 Value
6 DebugCheckSelfHosted <- Box#173 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
174 Box <- Constant#10 Value
11 DebugCheckSelfHosted <- Box#174 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28560 String
29 Bail None
171 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
175 Box <- Constant#32 Value
33 DebugCheckSelfHosted <- Box#175 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
170 Unreachable None
Block 4
51 Constant 0x0 Int32
52 ArgumentsLength Int32
53 Constant 0x1 Int32
54 Compare <- ArgumentsLength#52, Constant#53 Gt Bool
55 Test <- Compare#54 -> block 5, block 6 None
1
0
Block 5
56 Constant 0x1 Int32
57 GetFrameArgument <- Constant#56 Value
58 Goto -> block 10 None
Block 6
59 Constant 0x0 Int32
60 Compare <- MinMax#18, Constant#59 StrictEq Bool
61 Test <- Compare#60 -> block 7, block 8 None
1
0
Block 7
62 CallGetIntrinsicValue Value
63 DebugCheckSelfHosted <- CallGetIntrinsicValue#62 Value
64 Constant undefined Undefined
65 Constant 0x34 Int32
66 Bail None
169 Unreachable None
Block 8
70 Constant false Bool
81 Goto -> block 9 None
Block 9
82 InterruptCheck None
83 Bail None
168 Unreachable None
Block 10
134 Goto -> block 11 None
Block 11 (loop header)
130 Phi <- Constant#51, Add#165 Int32
131 Phi <- GetFrameArgument#57, Phi#162 Value
135 InterruptCheck None
176 Box <- Phi#130 Value
136 Unbox Box#176 to Int32 (fallible) Int32
177 Box <- MinMax#18 Value
137 Unbox Box#177 to Int32 (fallible) Int32
138 Compare <- Unbox#136, Unbox#137 Lt Bool
139 Test <- Compare#138 -> block 12, block 16 None
1
0
Block 12
178 Box <- Unbox#9 Value
140 Unbox Box#178 to Object (fallible) Object
179 Box <- Phi#130 Value
141 Unbox Box#179 to Int32 (fallible) Int32
142 GuardShape <- Unbox#140 Object
143 Elements <- GuardShape#142 Elements
144 InitializedLength <- Elements#143 Int32
145 BoundsCheck <- Unbox#141, InitializedLength#144 Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Constant true Bool
149 Test <- Constant#148 -> block 14, block 13 None
1
0
Block 13 (split edge)
172 Goto -> block 15 None
Block 14
150 Constant undefined Undefined
180 Box <- Unbox#9 Value
151 Unbox Box#180 to Object (fallible) Object
181 Box <- Phi#130 Value
152 Unbox Box#181 to Int32 (fallible) Int32
153 GuardShape <- Unbox#151 Object
154 Elements <- GuardShape#153 Elements
155 InitializedLength <- Elements#154 Int32
156 BoundsCheck <- Unbox#152, InitializedLength#155 Int32
157 SpectreMaskIndex <- BoundsCheck#156, InitializedLength#155 Int32
158 GuardElementsArePacked <- Elements#154 None
159 LoadElement <- Elements#154, SpectreMaskIndex#157 Value
182 Unbox Parameter#1 to Object (fallible) Object
160 Call <- Unbox#182, Constant#150, Phi#131, LoadElement#159, Phi#130, Unbox#9 Value
161 Goto -> block 15 None
Block 15 (backedge)
162 Phi <- Call#160, Phi#131 Value
183 Box <- Phi#130 Value
163 Unbox Box#183 to Int32 (fallible) Int32
164 Constant 0x1 Int32
165 Add <- Unbox#163, Constant#164 [int32] Int32
166 Goto -> block 11 None
Block 16
167 Return <- Phi#131 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Constant undefined Undefined
9 Constant 0x1 Int32
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
14 Constant undefined Undefined
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
18 Constant 0x1 Int32
19 Constant 0x0 Int32
20 MinMax <- ArrayLength#17, Constant#19 (max) Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
27 Constant undefined Undefined
28 Constant 0x37 Int32
29 Constant 0x0 Int32
30 Constant string 104289c28560 String
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
36 Constant undefined Undefined
37 Constant 0x1 Int32
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
42 Constant undefined Undefined
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
46 Constant undefined Undefined
47 Constant 0x0 Int32
48 Bail None
49 Unreachable None
Block 4
50 Constant 0x0 Int32
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 10 None
Block 6
58 Constant 0x0 Int32
59 Compare <- MinMax#20, Constant#58 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
63 Constant undefined Undefined
64 Constant 0x34 Int32
65 Bail None
66 Unreachable None
Block 8
67 Constant false Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#50, Add#114 Int32
74 Phi <- GetFrameArgument#56, Phi#110 Value
75 InterruptCheck None
76 Box <- Phi#73 Value
77 Unbox Box#76 to Int32 (fallible) Int32
78 Box <- MinMax#20 Value
79 Unbox Box#78 to Int32 (fallible) Int32
80 Compare <- Unbox#77, Unbox#79 Lt Bool
81 Test <- Compare#80 -> block 12, block 16 None
1
0
Block 12
82 Box <- Unbox#10 Value
83 Unbox Box#82 to Object (fallible) Object
84 Box <- Phi#73 Value
85 Unbox Box#84 to Int32 (fallible) Int32
86 GuardShape <- Unbox#83 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 Int32
89 BoundsCheck <- Unbox#85, InitializedLength#88 Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
92 Constant true Bool
93 Test <- Constant#92 -> block 14, block 13 None
1
0
Block 13 (split edge)
94 Goto -> block 15 None
Block 14
95 Constant undefined Undefined
96 Box <- Unbox#10 Value
97 Unbox Box#96 to Object (fallible) Object
98 Box <- Phi#73 Value
99 Unbox Box#98 to Int32 (fallible) Int32
100 GuardShape <- Unbox#97 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementsArePacked <- Elements#101 None
106 LoadElement <- Elements#101, SpectreMaskIndex#104 Value
107 Unbox Parameter#1 to Object (fallible) Object
108 Call <- Unbox#107, Constant#95, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 15 None
Block 15 (backedge)
110 Phi <- Call#108, Phi#74 Value
111 Box <- Phi#73 Value
112 Unbox Box#111 to Int32 (fallible) Int32
113 Constant 0x1 Int32
114 Add <- Unbox#112, Constant#113 [int32] Int32
115 Goto -> block 11 None
Block 16
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Constant undefined Undefined
9 Constant 0x1 Int32
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
14 Constant undefined Undefined
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
18 Constant 0x1 Int32
19 Constant 0x0 Int32
20 MinMax <- ArrayLength#17, Constant#19 (max) Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
27 Constant undefined Undefined
28 Constant 0x37 Int32
29 Constant 0x0 Int32
30 Constant string 104289c28560 String
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
36 Constant undefined Undefined
37 Constant 0x1 Int32
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
42 Constant undefined Undefined
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
46 Constant undefined Undefined
47 Constant 0x0 Int32
48 Bail None
49 Unreachable None
Block 4
50 Constant 0x0 Int32
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 10 None
Block 6
58 Constant 0x0 Int32
59 Compare <- MinMax#20, Constant#58 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
63 Constant undefined Undefined
64 Constant 0x34 Int32
65 Bail None
66 Unreachable None
Block 8
67 Constant false Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#50, Add#114 Int32
74 Phi <- GetFrameArgument#56, Phi#110 Value
75 InterruptCheck None
76 Box <- Phi#73 Value
77 Unbox Box#76 to Int32 (fallible) Int32
78 Box <- MinMax#20 Value
79 Unbox Box#78 to Int32 (fallible) Int32
80 Compare <- Unbox#77, Unbox#79 Lt Bool
81 Test <- Compare#80 -> block 12, block 16 None
1
0
Block 12
82 Box <- Unbox#10 Value
83 Unbox Box#82 to Object (fallible) Object
84 Box <- Phi#73 Value
85 Unbox Box#84 to Int32 (fallible) Int32
86 GuardShape <- Unbox#83 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 Int32
89 BoundsCheck <- Unbox#85, InitializedLength#88 Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
92 Constant true Bool
93 Test <- Constant#92 -> block 14, block 13 None
1
0
Block 13 (split edge)
94 Goto -> block 15 None
Block 14
95 Constant undefined Undefined
96 Box <- Unbox#10 Value
97 Unbox Box#96 to Object (fallible) Object
98 Box <- Phi#73 Value
99 Unbox Box#98 to Int32 (fallible) Int32
100 GuardShape <- Unbox#97 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementsArePacked <- Elements#101 None
106 LoadElement <- Elements#101, SpectreMaskIndex#104 Value
107 Unbox Parameter#1 to Object (fallible) Object
108 Call <- Unbox#107, Constant#95, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 15 None
Block 15 (backedge)
110 Phi <- Call#108, Phi#74 Value
111 Box <- Phi#73 Value
112 Unbox Box#111 to Int32 (fallible) Int32
113 Constant 0x1 Int32
114 Add <- Unbox#112, Constant#113 [int32] Int32
115 Goto -> block 11 None
Block 16
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
107 Unbox Parameter#1 to Object (fallible) Object
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
192 Beta <- ArgumentsLength#21 I[0, 0] Int32
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
191 Beta <- ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) Int32
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 Int32
53 Compare <- Beta#191, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
190 Beta <- Beta#191 F[2, ?] (U Infinity) Int32
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
189 Beta <- Beta#191 F[?, 1] (U NaN U -Infinity U -0) Int32
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
188 Beta <- ArrayLength#17 I[0, 0] Int32
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
187 Beta <- ArrayLength#17 F[?, ?] (U NaN U -Infinity U Infinity) Int32
67 Constant false Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
186 Beta <- ArrayLength#17 I[-2147483647, 2147483647] Int32
185 Beta <- Phi#73 I[-2147483648, 2147483646] Int32
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 Int32
89 BoundsCheck <- Beta#185, InitializedLength#88 Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Beta#185, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Beta#185, Constant#52 [int32] Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
192 Beta <- ArgumentsLength#21 I[0, 0] I[0, 0]: Int32
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
191 Beta <- ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 500000]: Int32
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- Beta#191, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
190 Beta <- Beta#191 F[2, ?] (U Infinity) I[2, 500000]: Int32
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
189 Beta <- Beta#191 F[?, 1] (U NaN U -Infinity U -0) I[0, 1] (U -0): Int32
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
188 Beta <- ArrayLength#17 I[0, 0] I[0, 0]: Int32
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
187 Beta <- ArrayLength#17 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 2147483647]: Int32
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
186 Beta <- ArrayLength#17 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
185 Beta <- Phi#73 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Beta#185, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Beta#185, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Beta#185, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
52 Constant 0x1 I[1, 1]: Int32
53 Compare <- ArgumentsLength#21, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
56 GetFrameArgument <- Constant#52 Value
57 Goto -> block 10 None
Block 6
59 Compare <- ArrayLength#17, Constant#22 StrictEq Bool
60 Test <- Compare#59 -> block 7, block 8 None
1
0
Block 7
61 CallGetIntrinsicValue Value
62 DebugCheckSelfHosted <- CallGetIntrinsicValue#61 Value
65 Bail None
66 Unreachable None
Block 8
67 Constant false I[0, 0]: Bool
68 Goto -> block 9 None
Block 9
69 InterruptCheck None
70 Bail None
71 Unreachable None
Block 10
107 Unbox Parameter#1 to Object (fallible) Object
72 Goto -> block 11 None
Block 11 (loop header)
73 Phi <- Constant#22, Add#114 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
74 Phi <- GetFrameArgument#56, Call#108 Value
75 InterruptCheck None
80 Compare <- Phi#73, ArrayLength#17 Lt Bool
81 Test <- Compare#80 -> block 12, block 15 None
1
0
Block 12
86 GuardShape <- Unbox#10 Object
87 Elements <- GuardShape#86 Elements
88 InitializedLength <- Elements#87 I[0, 268435453]: Int32
89 BoundsCheck <- Phi#73, InitializedLength#88 I[0, 2147483646]: Int32
90 SpectreMaskIndex <- BoundsCheck#89, InitializedLength#88 I[0, 2147483646]: Int32
91 GuardElementNotHole <- Elements#87, SpectreMaskIndex#90 None
184 Goto -> block 13 None
Block 13
105 GuardElementsArePacked <- Elements#87 None
106 LoadElement <- Elements#87, SpectreMaskIndex#90 Value
108 Call <- Unbox#107, Constant#2, Phi#74, LoadElement#106, Phi#73, Unbox#10 Value
109 Goto -> block 14 None
Block 14 (backedge)
114 Add <- Phi#73, Constant#52 [int32] I[1, 2147483647]: Int32
115 Goto -> block 11 None
Block 15
116 Return <- Phi#74 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- BoundsCheck#61, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- BoundsCheck#61, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- BoundsCheck#61, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
193 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
194 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
199 DebugEnterGCUnsafeRegion None
197 DebugEnterGCUnsafeRegion None
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
200 DebugLeaveGCUnsafeRegion None
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
198 DebugLeaveGCUnsafeRegion None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
196 KeepAliveObject <- GuardShape#58 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
195 KeepAliveObject <- GuardShape#58 None
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
193 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
194 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
199 DebugEnterGCUnsafeRegion None
197 DebugEnterGCUnsafeRegion None
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
200 DebugLeaveGCUnsafeRegion None
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
198 DebugLeaveGCUnsafeRegion None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
196 KeepAliveObject <- GuardShape#58 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
195 KeepAliveObject <- GuardShape#58 None
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
193 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
194 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 10 None
Block 6
40 Compare <- ArrayLength#14, Constant#16 StrictEq Bool
41 Test <- Compare#40 -> block 7, block 8 None
1
0
Block 7
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Bail None
45 Unreachable None
Block 8
46 Constant false I[0, 0]: Bool
47 Goto -> block 9 None
Block 9
48 InterruptCheck None
49 Bail None
50 Unreachable None
Block 10
51 Unbox Parameter#1 to Object (fallible) Object
52 Goto -> block 11 None
Block 11 (loop header)
53 Phi <- Constant#16, Add#69 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
54 Phi <- GetFrameArgument#38, Call#67 Value
55 InterruptCheck None
56 Compare <- Phi#53, ArrayLength#14 Lt Bool
57 Test <- Compare#56 -> block 12, block 15 None
1
0
Block 12
58 GuardShape <- Unbox#8 Object
59 Elements <- GuardShape#58 Elements
199 DebugEnterGCUnsafeRegion None
197 DebugEnterGCUnsafeRegion None
60 InitializedLength <- Elements#59 I[0, 268435453]: Int32
200 DebugLeaveGCUnsafeRegion None
61 BoundsCheck <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
62 SpectreMaskIndex <- Phi#53, InitializedLength#60 I[0, 2147483646]: Int32
63 GuardElementNotHole <- Elements#59, SpectreMaskIndex#62 None
198 DebugLeaveGCUnsafeRegion None
64 Goto -> block 13 None
Block 13
65 GuardElementsArePacked <- Elements#59 None
196 KeepAliveObject <- GuardShape#58 None
66 LoadElement <- Elements#59, SpectreMaskIndex#62 Value
195 KeepAliveObject <- GuardShape#58 None
67 Call <- Unbox#51, Constant#2, Phi#54, LoadElement#66, Phi#53, Unbox#8 Value
68 Goto -> block 14 None
Block 14 (backedge)
69 Add <- Phi#53, Constant#35 [int32] I[1, 2147483647]: Int32
70 Goto -> block 11 None
Block 15
71 Return <- Phi#54 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Return <- BitOr#22 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
24 Box <- BitOr#22 Value
23 Return <- Box#24 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
8 Constant 0x1 Int32
9 Unbox Parameter#1 to Int32 (fallible) Int32
10 Rsh <- Unbox#9, Constant#8 Int32
11 Constant 0xff Int32
12 Unbox Parameter#1 to Int32 (fallible) Int32
13 BitAnd <- Unbox#12, Constant#11 Int32
14 Constant 0x2 Int32
15 Unbox Parameter#1 to Int32 (fallible) Int32
16 Ursh <- Unbox#15, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
18 Unbox Parameter#1 to Int32 (fallible) Int32
19 BitNot <- Unbox#18 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
10 Rsh <- Unbox#6, Constant#5 Int32
11 Constant 0xff Int32
13 BitAnd <- Unbox#6, Constant#11 Int32
14 Constant 0x2 Int32
16 Ursh <- Unbox#6, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
19 BitNot <- Unbox#6 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
10 Rsh <- Unbox#6, Constant#5 Int32
11 Constant 0xff Int32
13 BitAnd <- Unbox#6, Constant#11 Int32
14 Constant 0x2 Int32
16 Ursh <- Unbox#6, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
19 BitNot <- Unbox#6 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 Int32
10 Rsh <- Unbox#6, Constant#5 Int32
11 Constant 0xff Int32
13 BitAnd <- Unbox#6, Constant#11 Int32
14 Constant 0x2 Int32
16 Ursh <- Unbox#6, Constant#14 Int32
17 Add <- BitAnd#13, Ursh#16 [int32] Int32
19 BitNot <- Unbox#6 Int32
20 Sub <- Add#17, BitNot#19 [int32] Int32
21 BitXor <- Rsh#10, Sub#20 Int32
22 BitOr <- Lsh#7, BitXor#21 Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t)
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t)
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t)
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t)
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
10 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
11 Constant 0xff I[255, 255]: Int32
13 BitAnd <- Unbox#6, Constant#11 I[0, 255]: Int32
14 Constant 0x2 I[2, 2]: Int32
16 Ursh <- Unbox#6, Constant#14 I[0, 1073741823]: Int32
17 Add <- BitAnd#13, Ursh#16 [int32] I[0, 1073742078]: Int32
19 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
20 Sub <- Add#17, BitNot#19 [int32] I[-2147483648, 2147483647]: Int32 (t)
21 BitXor <- Rsh#10, Sub#20 I[-2147483648, 2147483647]: Int32
22 BitOr <- Lsh#7, BitXor#21 I[-2147483648, 2147483647]: Int32
23 Box <- BitOr#22 Value
24 Return <- Box#23 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant 0x1 I[1, 1]: Int32
6 Unbox Parameter#1 to Int32 (fallible) Int32
7 Lsh <- Unbox#6, Constant#5 I[-2147483648, 2147483647]: Int32
8 Rsh <- Unbox#6, Constant#5 I[-1073741824, 1073741823]: Int32
9 Constant 0xff I[255, 255]: Int32
10 BitAnd <- Unbox#6, Constant#9 I[0, 255]: Int32
11 Constant 0x2 I[2, 2]: Int32
12 Ursh <- Unbox#6, Constant#11 I[0, 1073741823]: Int32
13 Add <- BitAnd#10, Ursh#12 [int32] I[0, 1073742078]: Int32
14 BitNot <- Unbox#6 I[-2147483648, 2147483647]: Int32
15 Sub <- Add#13, BitNot#14 [int32] I[-2147483648, 2147483647]: Int32 (t)
16 BitXor <- Rsh#8, Sub#15 I[-2147483648, 2147483647]: Int32
17 BitOr <- Lsh#7, BitXor#16 I[-2147483648, 2147483647]: Int32
18 Box <- BitOr#17 Value
19 Return <- Box#18 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
30 UnreachableResult Value
31 Goto -> block 2 None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
47 UnreachableResult Value
48 Bail None
49 UnreachableResult Value
50 Goto -> block 4 None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
75 UnreachableResult Value
76 Goto -> block 10 None
Block 10
77 Phi <- UnreachableResult#75, NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 18 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 13, block 17 None
1
0
Block 13
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#125 -> block 16, block 17 None
1
0
Block 16
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 17 None
Block 17 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 18
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
77 Phi <- NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 18 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 13, block 17 None
1
0
Block 13
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#125 -> block 16, block 17 None
1
0
Block 16
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 17 None
Block 17 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 18
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
77 Phi <- NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 18 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 13, block 17 None
1
0
Block 13
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#125 -> block 16, block 17 None
1
0
Block 16
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 17 None
Block 17 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 18
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
77 Phi <- NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 18 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 13, block 17 None
1
0
Block 13
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#125 -> block 16, block 17 None
1
0
Block 16
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 17 None
Block 17 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 18
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
77 Phi <- NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 18 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 13, block 17 None
1
0
Block 13
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#125 -> block 16, block 17 None
1
0
Block 16
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 17 None
Block 17 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 18
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
77 Phi <- NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 18 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 13, block 19 None
1
0
Block 19 (split edge)
147 Goto -> block 17 None
Block 13
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#125 -> block 16, block 20 None
1
0
Block 20 (split edge)
148 Goto -> block 17 None
Block 16
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 17 None
Block 17 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 18
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
77 Phi <- NewArrayObject#68 Value
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#2, Constant#2 Value
81 Phi <- Constant#2, Constant#2 Value
82 Phi <- Parameter#0, Parameter#0 Value
83 Phi <- Parameter#1, Parameter#1 Value
84 Phi <- Unbox#9, Unbox#9 Value
85 Phi <- MinMax#18, MinMax#18 Value
86 Phi <- Phi#60, Phi#60 Value
87 Phi <- Phi#77, Phi#77 Value
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
90 Phi <- Constant#2, Phi#138 Value
91 Phi <- Parameter#0, Parameter#0 Value
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox Phi#85 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 20 None
1
0
Block 12
98 Unbox Phi#84 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 14, block 13 None
1
0
Block 13 (split edge)
147 Goto -> block 19 None
Block 14
108 Unbox Phi#84 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Phi#83 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#125 -> block 18, block 17 None
1
0
Block 17 (split edge)
148 Goto -> block 19 None
Block 18
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox Phi#87 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 19 None
Block 19 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
138 Phi <- LoadElement#116, Phi#90, LoadElement#116 Value
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 20
143 Return <- Phi#87 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
149 Constant magic optimized-out MagicOptimizedOut
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox MinMax#18 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 20 None
1
0
Block 12
154 Constant magic optimized-out MagicOptimizedOut
98 Unbox Unbox#9 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 14, block 13 None
1
0
Block 13 (split edge)
151 Constant magic optimized-out MagicOptimizedOut
147 Goto -> block 19 None
Block 14
153 Constant magic optimized-out MagicOptimizedOut
108 Unbox Unbox#9 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#125 -> block 18, block 17 None
1
0
Block 17 (split edge)
148 Goto -> block 19 None
Block 18
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox NewArrayObject#68 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 19 None
Block 19 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
150 Constant magic optimized-out MagicOptimizedOut
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 20
152 Constant magic optimized-out MagicOptimizedOut
143 Return <- NewArrayObject#68 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
149 Constant magic optimized-out MagicOptimizedOut
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox MinMax#18 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 20 None
1
0
Block 12
154 Constant magic optimized-out MagicOptimizedOut
98 Unbox Unbox#9 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 14, block 13 None
1
0
Block 13 (split edge)
151 Constant magic optimized-out MagicOptimizedOut
147 Goto -> block 19 None
Block 14
153 Constant magic optimized-out MagicOptimizedOut
108 Unbox Unbox#9 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#125 -> block 18, block 17 None
1
0
Block 17 (split edge)
148 Goto -> block 19 None
Block 18
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox NewArrayObject#68 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 19 None
Block 19 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
150 Constant magic optimized-out MagicOptimizedOut
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 20
152 Constant magic optimized-out MagicOptimizedOut
143 Return <- NewArrayObject#68 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
149 Constant magic optimized-out MagicOptimizedOut
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox MinMax#18 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 20 None
1
0
Block 12
154 Constant magic optimized-out MagicOptimizedOut
98 Unbox Unbox#9 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 14, block 13 None
1
0
Block 13 (split edge)
151 Constant magic optimized-out MagicOptimizedOut
147 Goto -> block 19 None
Block 14
153 Constant magic optimized-out MagicOptimizedOut
108 Unbox Unbox#9 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#125 -> block 18, block 17 None
1
0
Block 17 (split edge)
148 Goto -> block 19 None
Block 18
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox NewArrayObject#68 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 19 None
Block 19 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
150 Constant magic optimized-out MagicOptimizedOut
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 20
152 Constant magic optimized-out MagicOptimizedOut
143 Return <- NewArrayObject#68 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 DebugCheckSelfHosted <- Constant#5 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
11 DebugCheckSelfHosted <- Constant#10 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
33 DebugCheckSelfHosted <- Constant#32 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
59 Goto -> block 7 None
Block 7
60 Phi <- Constant#58, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 DebugCheckSelfHosted <- Constant#61 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
88 Phi <- Constant#78, Add#141 Value
89 Phi <- Constant#79, Phi#137 Value
149 Constant magic optimized-out MagicOptimizedOut
93 InterruptCheck None
94 Unbox Phi#88 to Int32 (fallible) Int32
95 Unbox MinMax#18 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 20 None
1
0
Block 12
154 Constant magic optimized-out MagicOptimizedOut
98 Unbox Unbox#9 to Object (fallible) Object
99 Unbox Phi#88 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 14, block 13 None
1
0
Block 13 (split edge)
151 Constant magic optimized-out MagicOptimizedOut
147 Goto -> block 19 None
Block 14
153 Constant magic optimized-out MagicOptimizedOut
108 Unbox Unbox#9 to Object (fallible) Object
109 Unbox Phi#88 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 Compare <- Unbox#124, Constant#123 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#125 -> block 18, block 17 None
1
0
Block 17 (split edge)
148 Goto -> block 19 None
Block 18
129 Unbox Phi#89 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
132 Unbox NewArrayObject#68 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 19 None
Block 19 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Value
150 Constant magic optimized-out MagicOptimizedOut
139 Unbox Phi#88 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 20
152 Constant magic optimized-out MagicOptimizedOut
143 Return <- NewArrayObject#68 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
155 Box <- Constant#5 Value
6 DebugCheckSelfHosted <- Box#155 Value
7 Constant undefined Undefined
8 Constant 0x1 Int32
9 Unbox Parameter#0 to Object (fallible) Object
10 Constant function ToLength at 104289c6c778 Object
156 Box <- Constant#10 Value
11 DebugCheckSelfHosted <- Box#156 Value
12 Constant undefined Undefined
13 GuardShape <- Unbox#9 Object
14 Elements <- GuardShape#13 Elements
15 ArrayLength <- Elements#14 Int32
16 Constant 0x1 Int32
17 Constant 0x0 Int32
18 MinMax <- ArrayLength#15, Constant#17 (max) Int32
19 ArgumentsLength Int32
20 Constant 0x0 Int32
21 Compare <- ArgumentsLength#19, Constant#20 StrictEq Bool
22 Test <- Compare#21 -> block 1, block 2 None
1
0
Block 1
23 CallGetIntrinsicValue Value
24 DebugCheckSelfHosted <- CallGetIntrinsicValue#23 Value
25 Constant undefined Undefined
26 Constant 0x37 Int32
27 Constant 0x0 Int32
28 Constant string 104289c28540 String
29 Bail None
146 Unreachable None
Block 2
32 Constant function IsCallable at 104289c6c7b0 Object
157 Box <- Constant#32 Value
33 DebugCheckSelfHosted <- Box#157 Value
34 Constant undefined Undefined
35 Constant 0x1 Int32
36 IsCallable <- Parameter#1 Bool
37 Test <- IsCallable#36 -> block 4, block 3 None
1
0
Block 3
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0xc Int32
42 CallGetIntrinsicValue Value
43 DebugCheckSelfHosted <- CallGetIntrinsicValue#42 Value
44 Constant undefined Undefined
45 Constant 0x0 Int32
46 Bail None
145 Unreachable None
Block 4
51 ArgumentsLength Int32
52 Constant 0x1 Int32
53 Compare <- ArgumentsLength#51, Constant#52 Gt Bool
54 Test <- Compare#53 -> block 5, block 6 None
1
0
Block 5
55 Constant 0x1 Int32
56 GetFrameArgument <- Constant#55 Value
57 Goto -> block 7 None
Block 6
58 Constant undefined Undefined
158 Box <- Constant#58 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#158, GetFrameArgument#56 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
159 Box <- Constant#61 Value
62 DebugCheckSelfHosted <- Box#159 Value
63 Constant undefined Undefined
64 Constant 0x1 Int32
65 HasShape <- Unbox#9 Bool
66 Test <- HasShape#65 -> block 8, block 9 None
1
0
Block 8
67 Constant shape at 104289c64f00 Shape
68 NewArrayObject <- Constant#67 Object
69 Goto -> block 10 None
Block 9
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0x0 Int32
74 Bail None
144 Unreachable None
Block 10
78 Constant 0x0 Int32
79 Constant 0x0 Int32
92 Goto -> block 11 None
Block 11 (loop header)
88 Phi <- Constant#78, Add#141 Int32
89 Phi <- Constant#79, Phi#137 Int32
149 Constant magic optimized-out MagicOptimizedOut
93 InterruptCheck None
160 Box <- Phi#88 Value
94 Unbox Box#160 to Int32 (fallible) Int32
161 Box <- MinMax#18 Value
95 Unbox Box#161 to Int32 (fallible) Int32
96 Compare <- Unbox#94, Unbox#95 Lt Bool
97 Test <- Compare#96 -> block 12, block 20 None
1
0
Block 12
154 Constant magic optimized-out MagicOptimizedOut
162 Box <- Unbox#9 Value
98 Unbox Box#162 to Object (fallible) Object
163 Box <- Phi#88 Value
99 Unbox Box#163 to Int32 (fallible) Int32
100 GuardShape <- Unbox#98 Object
101 Elements <- GuardShape#100 Elements
102 InitializedLength <- Elements#101 Int32
103 BoundsCheck <- Unbox#99, InitializedLength#102 Int32
104 SpectreMaskIndex <- BoundsCheck#103, InitializedLength#102 Int32
105 GuardElementNotHole <- Elements#101, SpectreMaskIndex#104 None
106 Constant true Bool
107 Test <- Constant#106 -> block 14, block 13 None
1
0
Block 13 (split edge)
151 Constant magic optimized-out MagicOptimizedOut
147 Goto -> block 19 None
Block 14
153 Constant magic optimized-out MagicOptimizedOut
164 Box <- Unbox#9 Value
108 Unbox Box#164 to Object (fallible) Object
165 Box <- Phi#88 Value
109 Unbox Box#165 to Int32 (fallible) Int32
110 GuardShape <- Unbox#108 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
166 ToDouble <- Constant#123 Double
125 Compare <- Unbox#124, ToDouble#166 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#125 -> block 18, block 17 None
1
0
Block 17 (split edge)
148 Goto -> block 19 None
Block 18
167 Box <- Phi#89 Value
129 Unbox Box#167 to Int32 (fallible) Int32
130 Constant 0x1 Int32
131 Add <- Unbox#129, Constant#130 [int32] Int32
168 Box <- NewArrayObject#68 Value
132 Unbox Box#168 to Object (fallible) Object
133 GuardShape <- Unbox#132 Object
134 Elements <- GuardShape#133 Elements
135 StoreElementHole <- GuardShape#133, Elements#134, Unbox#129, LoadElement#116 None
136 Goto -> block 19 None
Block 19 (backedge)
137 Phi <- Add#131, Phi#89, Phi#89 Int32
150 Constant magic optimized-out MagicOptimizedOut
169 Box <- Phi#88 Value
139 Unbox Box#169 to Int32 (fallible) Int32
140 Constant 0x1 Int32
141 Add <- Unbox#139, Constant#140 [int32] Int32
142 Goto -> block 11 None
Block 20
152 Constant magic optimized-out MagicOptimizedOut
170 Box <- NewArrayObject#68 Value
143 Return <- Box#170 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Constant undefined Undefined
9 Constant 0x1 Int32
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
14 Constant undefined Undefined
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
18 Constant 0x1 Int32
19 Constant 0x0 Int32
20 MinMax <- ArrayLength#17, Constant#19 (max) Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
27 Constant undefined Undefined
28 Constant 0x37 Int32
29 Constant 0x0 Int32
30 Constant string 104289c28540 String
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
36 Constant undefined Undefined
37 Constant 0x1 Int32
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
42 Constant undefined Undefined
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
46 Constant undefined Undefined
47 Constant 0x0 Int32
48 Bail None
49 Unreachable None
Block 4
50 ArgumentsLength Int32
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#50, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
54 Constant 0x1 Int32
55 GetFrameArgument <- Constant#54 Value
56 Goto -> block 7 None
Block 6
57 Constant undefined Undefined
58 Box <- Constant#57 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
64 Constant undefined Undefined
65 Constant 0x1 Int32
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
73 Constant undefined Undefined
74 Constant 0x0 Int32
75 Bail None
76 Unreachable None
Block 10
77 Constant 0x0 Int32
78 Constant 0x0 Int32
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#77, Add#145 Int32
81 Phi <- Constant#78, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
84 Box <- Phi#80 Value
85 Unbox Box#84 to Int32 (fallible) Int32
86 Box <- MinMax#20 Value
87 Unbox Box#86 to Int32 (fallible) Int32
88 Compare <- Unbox#85, Unbox#87 Lt Bool
89 Test <- Compare#88 -> block 12, block 20 None
1
0
Block 12
90 Constant magic optimized-out MagicOptimizedOut
91 Box <- Unbox#10 Value
92 Unbox Box#91 to Object (fallible) Object
93 Box <- Phi#80 Value
94 Unbox Box#93 to Int32 (fallible) Int32
95 GuardShape <- Unbox#92 Object
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 Int32
98 BoundsCheck <- Unbox#94, InitializedLength#97 Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
101 Constant true Bool
102 Test <- Constant#101 -> block 14, block 13 None
1
0
Block 13 (split edge)
103 Constant magic optimized-out MagicOptimizedOut
104 Goto -> block 19 None
Block 14
105 Constant magic optimized-out MagicOptimizedOut
106 Box <- Unbox#10 Value
107 Unbox Box#106 to Object (fallible) Object
108 Box <- Phi#80 Value
109 Unbox Box#108 to Int32 (fallible) Int32
110 GuardShape <- Unbox#107 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 ToDouble <- Constant#123 Double
126 Compare <- Unbox#124, ToDouble#125 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#126 -> block 18, block 17 None
1
0
Block 17 (split edge)
129 Goto -> block 19 None
Block 18
130 Box <- Phi#81 Value
131 Unbox Box#130 to Int32 (fallible) Int32
132 Constant 0x1 Int32
133 Add <- Unbox#131, Constant#132 [int32] Int32
134 Box <- NewArrayObject#69 Value
135 Unbox Box#134 to Object (fallible) Object
136 GuardShape <- Unbox#135 Object
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Unbox#131, LoadElement#116 None
139 Goto -> block 19 None
Block 19 (backedge)
140 Phi <- Add#133, Phi#81, Phi#81 Int32
141 Constant magic optimized-out MagicOptimizedOut
142 Box <- Phi#80 Value
143 Unbox Box#142 to Int32 (fallible) Int32
144 Constant 0x1 Int32
145 Add <- Unbox#143, Constant#144 [int32] Int32
146 Goto -> block 11 None
Block 20
147 Constant magic optimized-out MagicOptimizedOut
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Constant undefined Undefined
9 Constant 0x1 Int32
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
14 Constant undefined Undefined
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
18 Constant 0x1 Int32
19 Constant 0x0 Int32
20 MinMax <- ArrayLength#17, Constant#19 (max) Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
27 Constant undefined Undefined
28 Constant 0x37 Int32
29 Constant 0x0 Int32
30 Constant string 104289c28540 String
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
36 Constant undefined Undefined
37 Constant 0x1 Int32
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
42 Constant undefined Undefined
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
46 Constant undefined Undefined
47 Constant 0x0 Int32
48 Bail None
49 Unreachable None
Block 4
50 ArgumentsLength Int32
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#50, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
54 Constant 0x1 Int32
55 GetFrameArgument <- Constant#54 Value
56 Goto -> block 7 None
Block 6
57 Constant undefined Undefined
58 Box <- Constant#57 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
64 Constant undefined Undefined
65 Constant 0x1 Int32
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
73 Constant undefined Undefined
74 Constant 0x0 Int32
75 Bail None
76 Unreachable None
Block 10
77 Constant 0x0 Int32
78 Constant 0x0 Int32
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#77, Add#145 Int32
81 Phi <- Constant#78, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
84 Box <- Phi#80 Value
85 Unbox Box#84 to Int32 (fallible) Int32
86 Box <- MinMax#20 Value
87 Unbox Box#86 to Int32 (fallible) Int32
88 Compare <- Unbox#85, Unbox#87 Lt Bool
89 Test <- Compare#88 -> block 12, block 20 None
1
0
Block 12
90 Constant magic optimized-out MagicOptimizedOut
91 Box <- Unbox#10 Value
92 Unbox Box#91 to Object (fallible) Object
93 Box <- Phi#80 Value
94 Unbox Box#93 to Int32 (fallible) Int32
95 GuardShape <- Unbox#92 Object
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 Int32
98 BoundsCheck <- Unbox#94, InitializedLength#97 Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
101 Constant true Bool
102 Test <- Constant#101 -> block 14, block 13 None
1
0
Block 13 (split edge)
103 Constant magic optimized-out MagicOptimizedOut
104 Goto -> block 19 None
Block 14
105 Constant magic optimized-out MagicOptimizedOut
106 Box <- Unbox#10 Value
107 Unbox Box#106 to Object (fallible) Object
108 Box <- Phi#80 Value
109 Unbox Box#108 to Int32 (fallible) Int32
110 GuardShape <- Unbox#107 Object
111 Elements <- GuardShape#110 Elements
112 InitializedLength <- Elements#111 Int32
113 BoundsCheck <- Unbox#109, InitializedLength#112 Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 Int32
115 GuardElementsArePacked <- Elements#111 None
116 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
117 Constant 0x3 Int32
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 15 None
Block 15
122 Constant undefined Undefined
123 Constant 0x32 Int32
124 Unbox LoadElement#116 to Double (fallible) Double
125 ToDouble <- Constant#123 Double
126 Compare <- Unbox#124, ToDouble#125 Gt Bool
127 Goto -> block 16 None
Block 16
128 Test <- Compare#126 -> block 18, block 17 None
1
0
Block 17 (split edge)
129 Goto -> block 19 None
Block 18
130 Box <- Phi#81 Value
131 Unbox Box#130 to Int32 (fallible) Int32
132 Constant 0x1 Int32
133 Add <- Unbox#131, Constant#132 [int32] Int32
134 Box <- NewArrayObject#69 Value
135 Unbox Box#134 to Object (fallible) Object
136 GuardShape <- Unbox#135 Object
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Unbox#131, LoadElement#116 None
139 Goto -> block 19 None
Block 19 (backedge)
140 Phi <- Add#133, Phi#81, Phi#81 Int32
141 Constant magic optimized-out MagicOptimizedOut
142 Box <- Phi#80 Value
143 Unbox Box#142 to Int32 (fallible) Int32
144 Constant 0x1 Int32
145 Add <- Unbox#143, Constant#144 [int32] Int32
146 Goto -> block 11 None
Block 20
147 Constant magic optimized-out MagicOptimizedOut
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
95 GuardShape <- Unbox#10 Object
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
172 Constant 50 Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] Int32
136 GuardShape <- NewArrayObject#69 Object
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 Int32
21 ArgumentsLength Int32
22 Constant 0x0 Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
180 Beta <- ArgumentsLength#21 I[0, 0] Int32
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
179 Beta <- ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) Int32
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 Int32
52 Compare <- Beta#179, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
178 Beta <- Beta#179 F[2, ?] (U Infinity) Int32
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
177 Beta <- Beta#179 F[?, 1] (U NaN U -Infinity U -0) Int32
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
176 Beta <- ArrayLength#17 I[-2147483647, 2147483647] Int32
175 Beta <- Phi#80 I[-2147483648, 2147483646] Int32
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 Int32
98 BoundsCheck <- Beta#175, InitializedLength#97 Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
174 Beta <- Unbox#124 F[?, 50] (U NaN U -Infinity U -0) Double
129 Goto -> block 18 None
Block 17
173 Beta <- Unbox#124 F[50, ?] (U Infinity) Double
133 Add <- Phi#81, Constant#51 [int32] Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Beta#175, Constant#51 [int32] Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
180 Beta <- ArgumentsLength#21 I[0, 0] I[0, 0]: Int32
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
179 Beta <- ArgumentsLength#21 F[?, ?] (U NaN U -Infinity U Infinity) I[0, 500000]: Int32
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- Beta#179, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
178 Beta <- Beta#179 F[2, ?] (U Infinity) I[2, 500000]: Int32
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
177 Beta <- Beta#179 F[?, 1] (U NaN U -Infinity U -0) I[0, 1] (U -0): Int32
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
176 Beta <- ArrayLength#17 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
175 Beta <- Phi#80 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Beta#175, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
174 Beta <- Unbox#124 F[?, 50] (U NaN U -Infinity U -0) F[?, 50] (U NaN U -Infinity U -0): Double
129 Goto -> block 18 None
Block 17
173 Beta <- Unbox#124 F[50, ?] (U Infinity) F[50, ?] (U Infinity): Double
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Beta#175, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
10 Unbox Parameter#0 to Object (fallible) Object
11 Constant function ToLength at 104289c6c778 Object
12 Box <- Constant#11 Value
13 DebugCheckSelfHosted <- Box#12 Value
15 GuardShape <- Unbox#10 Object
16 Elements <- GuardShape#15 Elements
17 ArrayLength <- Elements#16 I[0, 2147483647]: Int32
21 ArgumentsLength I[0, 500000]: Int32
22 Constant 0x0 I[0, 0]: Int32
23 Compare <- ArgumentsLength#21, Constant#22 StrictEq Bool
24 Test <- Compare#23 -> block 1, block 2 None
1
0
Block 1
25 CallGetIntrinsicValue Value
26 DebugCheckSelfHosted <- CallGetIntrinsicValue#25 Value
31 Bail None
32 Unreachable None
Block 2
33 Constant function IsCallable at 104289c6c7b0 Object
34 Box <- Constant#33 Value
35 DebugCheckSelfHosted <- Box#34 Value
38 IsCallable <- Parameter#1 Bool
39 Test <- IsCallable#38 -> block 4, block 3 None
1
0
Block 3
40 CallGetIntrinsicValue Value
41 DebugCheckSelfHosted <- CallGetIntrinsicValue#40 Value
43 Constant 0xc I[12, 12]: Int32
44 CallGetIntrinsicValue Value
45 DebugCheckSelfHosted <- CallGetIntrinsicValue#44 Value
48 Bail None
49 Unreachable None
Block 4
51 Constant 0x1 I[1, 1]: Int32
52 Compare <- ArgumentsLength#21, Constant#51 Gt Bool
53 Test <- Compare#52 -> block 5, block 6 None
1
0
Block 5
55 GetFrameArgument <- Constant#51 Value
56 Goto -> block 7 None
Block 6
58 Box <- Constant#2 Value
59 Goto -> block 7 None
Block 7
60 Phi <- Box#58, GetFrameArgument#55 Value
61 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
62 Box <- Constant#61 Value
63 DebugCheckSelfHosted <- Box#62 Value
66 HasShape <- Unbox#10 Bool
67 Test <- HasShape#66 -> block 8, block 9 None
1
0
Block 8
68 Constant shape at 104289c64f00 Shape
69 NewArrayObject <- Constant#68 Object
70 Goto -> block 10 None
Block 9
71 CallGetIntrinsicValue Value
72 DebugCheckSelfHosted <- CallGetIntrinsicValue#71 Value
75 Bail None
76 Unreachable None
Block 10
95 GuardShape <- Unbox#10 Object
118 Unbox Parameter#1 to Object (fallible) Object
119 GuardToFunction <- Unbox#118 Object
120 GuardFunctionScript <- GuardToFunction#119 Object
172 Constant 50 I[50, 50]: Double
136 GuardShape <- NewArrayObject#69 Object
79 Goto -> block 11 None
Block 11 (loop header)
80 Phi <- Constant#22, Add#145 I[0 {}, 2147483647 {[loop] #17-1}]: Int32
81 Phi <- Constant#22, Phi#140 Int32
82 Constant magic optimized-out MagicOptimizedOut
83 InterruptCheck None
88 Compare <- Phi#80, ArrayLength#17 Lt Bool
89 Test <- Compare#88 -> block 12, block 19 None
1
0
Block 12
96 Elements <- GuardShape#95 Elements
97 InitializedLength <- Elements#96 I[0, 268435453]: Int32
98 BoundsCheck <- Phi#80, InitializedLength#97 I[0, 2147483646]: Int32
99 SpectreMaskIndex <- BoundsCheck#98, InitializedLength#97 I[0, 2147483646]: Int32
100 GuardElementNotHole <- Elements#96, SpectreMaskIndex#99 None
171 Goto -> block 13 None
Block 13
115 GuardElementsArePacked <- Elements#96 None
116 LoadElement <- Elements#96, SpectreMaskIndex#99 Value
121 Goto -> block 14 None
Block 14
124 Unbox LoadElement#116 to Double (fallible) Double
126 Compare <- Unbox#124, Constant#172 Gt Bool
127 Goto -> block 15 None
Block 15
128 Test <- Compare#126 -> block 17, block 16 None
1
0
Block 16 (split edge)
129 Goto -> block 18 None
Block 17
133 Add <- Phi#81, Constant#51 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
137 Elements <- GuardShape#136 Elements
138 StoreElementHole <- GuardShape#136, Elements#137, Phi#81, LoadElement#116 None
139 Goto -> block 18 None
Block 18 (backedge)
140 Phi <- Add#133, Phi#81 Int32
145 Add <- Phi#80, Constant#51 [int32] I[1, 2147483647]: Int32
146 Goto -> block 11 None
Block 19
148 Box <- NewArrayObject#69 Value
149 Return <- Box#148 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- BoundsCheck#70, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- BoundsCheck#70, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- BoundsCheck#70, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
181 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
182 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
187 DebugEnterGCUnsafeRegion None
185 DebugEnterGCUnsafeRegion None
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
188 DebugLeaveGCUnsafeRegion None
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
186 DebugLeaveGCUnsafeRegion None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
184 KeepAliveObject <- GuardShape#55 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
183 KeepAliveObject <- GuardShape#55 None
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
181 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
182 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
187 DebugEnterGCUnsafeRegion None
185 DebugEnterGCUnsafeRegion None
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
188 DebugLeaveGCUnsafeRegion None
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
186 DebugLeaveGCUnsafeRegion None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
184 KeepAliveObject <- GuardShape#55 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
183 KeepAliveObject <- GuardShape#55 None
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant function ToObject at 104289c6c740 Object
6 Box <- Constant#5 Value
7 DebugCheckSelfHosted <- Box#6 Value
8 Unbox Parameter#0 to Object (fallible) Object
9 Constant function ToLength at 104289c6c778 Object
10 Box <- Constant#9 Value
11 DebugCheckSelfHosted <- Box#10 Value
12 GuardShape <- Unbox#8 Object
13 Elements <- GuardShape#12 Elements
181 DebugEnterGCUnsafeRegion None
14 ArrayLength <- Elements#13 I[0, 2147483647]: Int32
182 DebugLeaveGCUnsafeRegion None
15 ArgumentsLength I[0, 500000]: Int32
16 Constant 0x0 I[0, 0]: Int32
17 Compare <- ArgumentsLength#15, Constant#16 StrictEq Bool
18 Test <- Compare#17 -> block 1, block 2 None
1
0
Block 1
19 CallGetIntrinsicValue Value
20 DebugCheckSelfHosted <- CallGetIntrinsicValue#19 Value
21 Bail None
22 Unreachable None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 IsCallable <- Parameter#1 Bool
27 Test <- IsCallable#26 -> block 4, block 3 None
1
0
Block 3
28 CallGetIntrinsicValue Value
29 DebugCheckSelfHosted <- CallGetIntrinsicValue#28 Value
30 Constant 0xc I[12, 12]: Int32
31 CallGetIntrinsicValue Value
32 DebugCheckSelfHosted <- CallGetIntrinsicValue#31 Value
33 Bail None
34 Unreachable None
Block 4
35 Constant 0x1 I[1, 1]: Int32
36 Compare <- ArgumentsLength#15, Constant#35 Gt Bool
37 Test <- Compare#36 -> block 5, block 6 None
1
0
Block 5
38 GetFrameArgument <- Constant#35 Value
39 Goto -> block 7 None
Block 6
40 Box <- Constant#2 Value
41 Goto -> block 7 None
Block 7
42 Phi <- Box#40, GetFrameArgument#38 Value
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- Unbox#8 Bool
47 Test <- HasShape#46 -> block 8, block 9 None
1
0
Block 8
48 Constant shape at 104289c64f00 Shape
49 NewArrayObject <- Constant#48 Object
50 Goto -> block 10 None
Block 9
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Bail None
54 Unreachable None
Block 10
55 GuardShape <- Unbox#8 Object
56 Unbox Parameter#1 to Object (fallible) Object
57 GuardToFunction <- Unbox#56 Object
58 GuardFunctionScript <- GuardToFunction#57 Object
59 Constant 50 I[50, 50]: Double
60 GuardShape <- NewArrayObject#49 Object
61 Goto -> block 11 None
Block 11 (loop header)
62 Phi <- Constant#16, Add#87 I[0 {}, 2147483647 {[loop] #14-1}]: Int32
63 Phi <- Constant#16, Phi#86 Int32
64 Constant magic optimized-out MagicOptimizedOut
65 InterruptCheck None
66 Compare <- Phi#62, ArrayLength#14 Lt Bool
67 Test <- Compare#66 -> block 12, block 19 None
1
0
Block 12
68 Elements <- GuardShape#55 Elements
187 DebugEnterGCUnsafeRegion None
185 DebugEnterGCUnsafeRegion None
69 InitializedLength <- Elements#68 I[0, 268435453]: Int32
188 DebugLeaveGCUnsafeRegion None
70 BoundsCheck <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
71 SpectreMaskIndex <- Phi#62, InitializedLength#69 I[0, 2147483646]: Int32
72 GuardElementNotHole <- Elements#68, SpectreMaskIndex#71 None
186 DebugLeaveGCUnsafeRegion None
73 Goto -> block 13 None
Block 13
74 GuardElementsArePacked <- Elements#68 None
184 KeepAliveObject <- GuardShape#55 None
75 LoadElement <- Elements#68, SpectreMaskIndex#71 Value
183 KeepAliveObject <- GuardShape#55 None
76 Goto -> block 14 None
Block 14
77 Unbox LoadElement#75 to Double (fallible) Double
78 Compare <- Unbox#77, Constant#59 Gt Bool
79 Goto -> block 15 None
Block 15
80 Test <- Compare#78 -> block 17, block 16 None
1
0
Block 16 (split edge)
81 Goto -> block 18 None
Block 17
82 Add <- Phi#63, Constant#35 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
83 Elements <- GuardShape#60 Elements
84 StoreElementHole <- GuardShape#60, Elements#83, Phi#63, LoadElement#75 None
85 Goto -> block 18 None
Block 18 (backedge)
86 Phi <- Add#82, Phi#63 Int32
87 Add <- Phi#62, Constant#35 [int32] I[1, 2147483647]: Int32
88 Goto -> block 11 None
Block 19
89 Box <- NewArrayObject#49 Value
90 Return <- Box#89 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 Add <- Unbox#109, Constant#108 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
116 Return <- Add#115 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
117 ToDouble <- Constant#108 Double
110 Add <- Unbox#109, ToDouble#117 [double] Double
111 Constant 0x1 Int32
112 Constant function log at 104289c6c200 Object
113 GuardSpecificFunction <- Constant#107, Constant#112 Object
114 MathFunction <- Add#110 Log Double
115 Add <- Add#101, MathFunction#114 [double] Double
118 Box <- Add#115 Value
116 Return <- Box#118 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 ToDouble <- Constant#108 Double
111 Add <- Unbox#109, ToDouble#110 [double] Double
112 Constant 0x1 Int32
113 Constant function log at 104289c6c200 Object
114 GuardSpecificFunction <- Constant#107, Constant#113 Object
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant object 104289c3f040 (LexicalEnvironment) Object
6 Constant object 104289c3e030 (global) Object
7 Constant object 104289c41148 (Math) Object
8 Constant object 104289c41148 (Math) Object
9 GuardObjectIdentity <- Constant#7, Constant#8 Object
10 Constant function sqrt at 104289c6c388 Object
11 Unbox Parameter#1 to Double (fallible) Double
12 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#12 [double] Double
14 Constant 0x1 Int32
15 Constant function sqrt at 104289c6c388 Object
16 GuardSpecificFunction <- Constant#10, Constant#15 Object
17 Sqrt <- Mul#13 Double
18 Constant object 104289c3f040 (LexicalEnvironment) Object
19 Constant object 104289c3e030 (global) Object
20 Constant object 104289c41148 (Math) Object
21 Constant object 104289c41148 (Math) Object
22 GuardObjectIdentity <- Constant#20, Constant#21 Object
23 Constant function sin at 104289c6c350 Object
24 Constant 0x1 Int32
25 Constant function sin at 104289c6c350 Object
26 GuardSpecificFunction <- Constant#23, Constant#25 Object
27 Unbox Parameter#1 to Double (fallible) Double
28 MathFunction <- Unbox#27 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant object 104289c41148 (Math) Object
33 Constant object 104289c41148 (Math) Object
34 GuardObjectIdentity <- Constant#32, Constant#33 Object
35 Constant function cos at 104289c6c0b0 Object
36 Constant 0x1 Int32
37 Constant function cos at 104289c6c0b0 Object
38 GuardSpecificFunction <- Constant#35, Constant#37 Object
39 Unbox Parameter#1 to Double (fallible) Double
40 MathFunction <- Unbox#39 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
42 Constant object 104289c3f040 (LexicalEnvironment) Object
43 Constant object 104289c3e030 (global) Object
44 Constant object 104289c41148 (Math) Object
45 Constant object 104289c41148 (Math) Object
46 GuardObjectIdentity <- Constant#44, Constant#45 Object
47 Constant function tan at 104289c6c3c0 Object
48 Constant 0x1 Int32
49 Constant function tan at 104289c6c3c0 Object
50 GuardSpecificFunction <- Constant#47, Constant#49 Object
51 Unbox Parameter#1 to Double (fallible) Double
52 MathFunction <- Unbox#51 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
54 Constant object 104289c3f040 (LexicalEnvironment) Object
55 Constant object 104289c3e030 (global) Object
56 Constant object 104289c41148 (Math) Object
57 Constant object 104289c41148 (Math) Object
58 GuardObjectIdentity <- Constant#56, Constant#57 Object
59 Constant function abs at 104289c63ee8 Object
60 Constant 0x1 Int32
61 Constant function abs at 104289c63ee8 Object
62 GuardSpecificFunction <- Constant#59, Constant#61 Object
63 Unbox Parameter#1 to Double (fallible) Double
64 Abs <- Unbox#63 Double
65 Add <- Add#53, Abs#64 [double] Double
66 Constant object 104289c3f040 (LexicalEnvironment) Object
67 Constant object 104289c3e030 (global) Object
68 Constant object 104289c41148 (Math) Object
69 Constant object 104289c41148 (Math) Object
70 GuardObjectIdentity <- Constant#68, Constant#69 Object
71 Constant function floor at 104289c6c120 Object
72 Constant 0x1 Int32
73 Constant function floor at 104289c6c120 Object
74 GuardSpecificFunction <- Constant#71, Constant#73 Object
75 Unbox Parameter#1 to Double (fallible) Double
76 NearbyInt <- Unbox#75 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
78 Constant object 104289c3f040 (LexicalEnvironment) Object
79 Constant object 104289c3e030 (global) Object
80 Constant object 104289c41148 (Math) Object
81 Constant object 104289c41148 (Math) Object
82 GuardObjectIdentity <- Constant#80, Constant#81 Object
83 Constant function ceil at 104289c6c040 Object
84 Constant 0x1 Int32
85 Constant function ceil at 104289c6c040 Object
86 GuardSpecificFunction <- Constant#83, Constant#85 Object
87 Unbox Parameter#1 to Double (fallible) Double
88 NearbyInt <- Unbox#87 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
90 Constant object 104289c3f040 (LexicalEnvironment) Object
91 Constant object 104289c3e030 (global) Object
92 Constant object 104289c41148 (Math) Object
93 Constant object 104289c41148 (Math) Object
94 GuardObjectIdentity <- Constant#92, Constant#93 Object
95 Constant function round at 104289c6c318 Object
96 Constant 0x1 Int32
97 Constant function round at 104289c6c318 Object
98 GuardSpecificFunction <- Constant#95, Constant#97 Object
99 Unbox Parameter#1 to Double (fallible) Double
100 RoundToDouble <- Unbox#99 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant object 104289c41148 (Math) Object
105 Constant object 104289c41148 (Math) Object
106 GuardObjectIdentity <- Constant#104, Constant#105 Object
107 Constant function log at 104289c6c200 Object
108 Constant 0x1 Int32
109 Unbox Parameter#1 to Double (fallible) Double
110 ToDouble <- Constant#108 Double
111 Add <- Unbox#109, ToDouble#110 [double] Double
112 Constant 0x1 Int32
113 Constant function log at 104289c6c200 Object
114 GuardSpecificFunction <- Constant#107, Constant#113 Object
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
64 Abs <- Unbox#11 Double
65 Add <- Add#53, Abs#64 [double] Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
119 Constant 1 Double
111 Add <- Unbox#11, Constant#119 [double] Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
64 Abs <- Unbox#11 Double
65 Add <- Add#53, Abs#64 [double] Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
119 Constant 1 Double
111 Add <- Unbox#11, Constant#119 [double] Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] Double
64 Abs <- Unbox#11 Double
65 Add <- Add#53, Abs#64 [double] Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] Double
119 Constant 1 Double
111 Add <- Unbox#11, Constant#119 [double] Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
11 Unbox Parameter#1 to Double (fallible) Double
13 Mul <- Unbox#11, Unbox#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
17 Sqrt <- Mul#13 Double
28 MathFunction <- Unbox#11 Sin (native) Double
29 Add <- Sqrt#17, MathFunction#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
40 MathFunction <- Unbox#11 Cos (native) Double
41 Add <- Add#29, MathFunction#40 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 MathFunction <- Unbox#11 Tan (native) Double
53 Add <- Add#41, MathFunction#52 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
64 Abs <- Unbox#11 F[0, ?] (U NaN U Infinity): Double
65 Add <- Add#53, Abs#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
76 NearbyInt <- Unbox#11 (down) Double
77 Add <- Add#65, NearbyInt#76 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
88 NearbyInt <- Unbox#11 (up) Double
89 Add <- Add#77, NearbyInt#88 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
100 RoundToDouble <- Unbox#11 Double
101 Add <- Add#89, RoundToDouble#100 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
119 Constant 1 I[1, 1]: Double
111 Add <- Unbox#11, Constant#119 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
115 MathFunction <- Add#111 Log Double
116 Add <- Add#101, MathFunction#115 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
117 Box <- Add#116 Value
118 Return <- Box#117 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Unbox Parameter#1 to Double (fallible) Double
6 Mul <- Unbox#5, Unbox#5 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
7 Sqrt <- Mul#6 Double
8 MathFunction <- Unbox#5 Sin (native) Double
9 Add <- Sqrt#7, MathFunction#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 MathFunction <- Unbox#5 Cos (native) Double
11 Add <- Add#9, MathFunction#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 MathFunction <- Unbox#5 Tan (native) Double
13 Add <- Add#11, MathFunction#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
14 Abs <- Unbox#5 F[0, ?] (U NaN U Infinity): Double
15 Add <- Add#13, Abs#14 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
16 NearbyInt <- Unbox#5 (down) Double
17 Add <- Add#15, NearbyInt#16 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
18 NearbyInt <- Unbox#5 (up) Double
19 Add <- Add#17, NearbyInt#18 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
20 RoundToDouble <- Unbox#5 Double
21 Add <- Add#19, RoundToDouble#20 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
22 Constant 1 I[1, 1]: Double
23 Add <- Unbox#5, Constant#22 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
24 MathFunction <- Add#23 Log Double
25 Add <- Add#21, MathFunction#24 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
26 Box <- Add#25 Value
27 Return <- Box#26 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 2, block 1 None
1
0
Block 1
20 Constant 0x1 Int32
21 Goto -> block 2 None
Block 2
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 3 None
1
0
Block 3
30 Constant 0x1 Int32
31 Goto -> block 4 None
Block 4
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 5, block 6 None
1
0
Block 5
51 Goto -> block 7 None
Block 6
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 7 None
Block 7
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 2, block 1 None
1
0
Block 1
20 Constant 0x1 Int32
21 Goto -> block 2 None
Block 2
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 3 None
1
0
Block 3
30 Constant 0x1 Int32
31 Goto -> block 4 None
Block 4
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 5, block 6 None
1
0
Block 5
51 Goto -> block 7 None
Block 6
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 7 None
Block 7
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 2, block 1 None
1
0
Block 1
20 Constant 0x1 Int32
21 Goto -> block 2 None
Block 2
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 3 None
1
0
Block 3
30 Constant 0x1 Int32
31 Goto -> block 4 None
Block 4
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 5, block 6 None
1
0
Block 5
51 Goto -> block 7 None
Block 6
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 7 None
Block 7
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 2, block 1 None
1
0
Block 1
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 2 None
Block 2
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 3 None
1
0
Block 3
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 4 None
Block 4
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 5, block 6 None
1
0
Block 5
51 Goto -> block 7 None
Block 6
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 7 None
Block 7
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 2, block 1 None
1
0
Block 1
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 2 None
Block 2
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 3 None
1
0
Block 3
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 4 None
Block 4
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 5, block 6 None
1
0
Block 5
51 Goto -> block 7 None
Block 6
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 7 None
Block 7
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 8, block 1 None
1
0
Block 8 (split edge)
59 Goto -> block 2 None
Block 1
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 2 None
Block 2
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 9, block 3 None
1
0
Block 9 (split edge)
60 Goto -> block 4 None
Block 3
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 4 None
Block 4
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 5, block 6 None
1
0
Block 5
51 Goto -> block 7 None
Block 6
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 7 None
Block 7
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
59 Goto -> block 3 None
Block 2
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 3 None
Block 3
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 5 None
1
0
Block 4 (split edge)
60 Goto -> block 6 None
Block 5
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 6 None
Block 6
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 7, block 8 None
1
0
Block 7
51 Goto -> block 9 None
Block 8
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 9 None
Block 9
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
59 Goto -> block 3 None
Block 2
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 3 None
Block 3
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 5 None
1
0
Block 4 (split edge)
60 Goto -> block 6 None
Block 5
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 6 None
Block 6
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 7, block 8 None
1
0
Block 7
51 Goto -> block 9 None
Block 8
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 9 None
Block 9
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
59 Goto -> block 3 None
Block 2
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 3 None
Block 3
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 5 None
1
0
Block 4 (split edge)
60 Goto -> block 6 None
Block 5
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 6 None
Block 6
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 7, block 8 None
1
0
Block 7
51 Goto -> block 9 None
Block 8
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 9 None
Block 9
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
59 Goto -> block 3 None
Block 2
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 3 None
Block 3
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 5 None
1
0
Block 4 (split edge)
60 Goto -> block 6 None
Block 5
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 6 None
Block 6
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 7, block 8 None
1
0
Block 7
51 Goto -> block 9 None
Block 8
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 9 None
Block 9
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
59 Goto -> block 3 None
Block 2
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
21 Goto -> block 3 None
Block 3
22 Phi <- Constant#20, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 5 None
1
0
Block 4 (split edge)
60 Goto -> block 6 None
Block 5
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
31 Goto -> block 6 None
Block 6
32 Phi <- Constant#30, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
38 Pow <- Unbox#37, Constant#36 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
41 Pow <- Unbox#40, Constant#39 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
49 Compare <- Add#47, Constant#48 Gt Bool
50 Test <- Compare#49 -> block 7, block 8 None
1
0
Block 7
51 Goto -> block 9 None
Block 8
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 9 None
Block 9
55 Phi <- Mul#53, Add#47 Double
56 Return <- Phi#55 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
59 Goto -> block 3 None
Block 2
57 Constant magic optimized-out MagicOptimizedOut
20 Constant 0x1 Int32
61 Box <- Constant#20 Value
21 Goto -> block 3 None
Block 3
22 Phi <- Box#61, Parameter#2 Value
23 Unbox Parameter#1 to Double (fallible) Double
24 Unbox Phi#22 to Double (fallible) Double
25 Div <- Unbox#23, Unbox#24 [double] Double
26 Unbox Parameter#2 to Double (fallible) Double
27 Not <- Unbox#26 Bool
28 Not <- Not#27 Bool
29 Test <- Not#28 -> block 4, block 5 None
1
0
Block 4 (split edge)
60 Goto -> block 6 None
Block 5
58 Constant magic optimized-out MagicOptimizedOut
30 Constant 0x1 Int32
62 Box <- Constant#30 Value
31 Goto -> block 6 None
Block 6
32 Phi <- Box#62, Parameter#2 Value
33 Unbox Parameter#1 to Double (fallible) Double
34 Unbox Phi#32 to Double (fallible) Double
35 Mod <- Unbox#33, Unbox#34 [double] Double
36 Constant 0x2 Int32
37 Unbox Parameter#1 to Double (fallible) Double
63 ToDouble <- Constant#36 Double
38 Pow <- Unbox#37, ToDouble#63 Double
39 Constant 0x2 Int32
40 Unbox Parameter#2 to Double (fallible) Double
64 ToDouble <- Constant#39 Double
41 Pow <- Unbox#40, ToDouble#64 Double
42 Add <- Add#9, Sub#12 [double] Double
43 Add <- Add#42, Mul#15 [double] Double
44 Add <- Add#43, Div#25 [double] Double
45 Add <- Add#44, Mod#35 [double] Double
46 Add <- Add#45, Pow#38 [double] Double
47 Add <- Add#46, Pow#41 [double] Double
48 Constant 0x0 Int32
65 ToDouble <- Constant#48 Double
49 Compare <- Add#47, ToDouble#65 Gt Bool
50 Test <- Compare#49 -> block 7, block 8 None
1
0
Block 7
51 Goto -> block 9 None
Block 8
52 Constant -1 Double
53 Mul <- Add#47, Constant#52 [double] Double
54 Goto -> block 9 None
Block 9
55 Phi <- Mul#53, Add#47 Double
66 Box <- Phi#55 Value
56 Return <- Box#66 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
26 Unbox Parameter#1 to Double (fallible) Double
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#26, Unbox#27 [double] Double
29 Unbox Parameter#2 to Double (fallible) Double
30 Not <- Unbox#29 Bool
31 Not <- Not#30 Bool
32 Test <- Not#31 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
39 Unbox Parameter#1 to Double (fallible) Double
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#39, Unbox#40 [double] Double
42 Constant 0x2 Int32
43 Unbox Parameter#1 to Double (fallible) Double
44 ToDouble <- Constant#42 Double
45 Pow <- Unbox#43, ToDouble#44 Double
46 Constant 0x2 Int32
47 Unbox Parameter#2 to Double (fallible) Double
48 ToDouble <- Constant#46 Double
49 Pow <- Unbox#47, ToDouble#48 Double
50 Add <- Add#9, Sub#12 [double] Double
51 Add <- Add#50, Mul#15 [double] Double
52 Add <- Add#51, Div#28 [double] Double
53 Add <- Add#52, Mod#41 [double] Double
54 Add <- Add#53, Pow#45 [double] Double
55 Add <- Add#54, Pow#49 [double] Double
56 Constant 0x0 Int32
57 ToDouble <- Constant#56 Double
58 Compare <- Add#55, ToDouble#57 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 Double
62 Mul <- Add#55, Constant#61 [double] Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
10 Unbox Parameter#1 to Double (fallible) Double
11 Unbox Parameter#2 to Double (fallible) Double
12 Sub <- Unbox#10, Unbox#11 [double] Double
13 Unbox Parameter#1 to Double (fallible) Double
14 Unbox Parameter#2 to Double (fallible) Double
15 Mul <- Unbox#13, Unbox#14 [double] Double
16 Unbox Parameter#2 to Double (fallible) Double
17 Not <- Unbox#16 Bool
18 Not <- Not#17 Bool
19 Test <- Not#18 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
26 Unbox Parameter#1 to Double (fallible) Double
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#26, Unbox#27 [double] Double
29 Unbox Parameter#2 to Double (fallible) Double
30 Not <- Unbox#29 Bool
31 Not <- Not#30 Bool
32 Test <- Not#31 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
39 Unbox Parameter#1 to Double (fallible) Double
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#39, Unbox#40 [double] Double
42 Constant 0x2 Int32
43 Unbox Parameter#1 to Double (fallible) Double
44 ToDouble <- Constant#42 Double
45 Pow <- Unbox#43, ToDouble#44 Double
46 Constant 0x2 Int32
47 Unbox Parameter#2 to Double (fallible) Double
48 ToDouble <- Constant#46 Double
49 Pow <- Unbox#47, ToDouble#48 Double
50 Add <- Add#9, Sub#12 [double] Double
51 Add <- Add#50, Mul#15 [double] Double
52 Add <- Add#51, Div#28 [double] Double
53 Add <- Add#52, Mod#41 [double] Double
54 Add <- Add#53, Pow#45 [double] Double
55 Add <- Add#54, Pow#49 [double] Double
56 Constant 0x0 Int32
57 ToDouble <- Constant#56 Double
58 Compare <- Add#55, ToDouble#57 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 Double
62 Mul <- Add#55, Constant#61 [double] Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
12 Sub <- Unbox#7, Unbox#8 [double] Double
15 Mul <- Unbox#7, Unbox#8 [double] Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] Double
72 Mul <- Unbox#8, Unbox#8 [double] Double
50 Add <- Add#9, Sub#12 [double] Double
51 Add <- Add#50, Mul#15 [double] Double
52 Add <- Add#51, Div#28 [double] Double
53 Add <- Add#52, Mod#41 [double] Double
54 Add <- Add#53, Mul#70 [double] Double
55 Add <- Add#54, Mul#72 [double] Double
73 Constant 0 Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 Double
62 Mul <- Add#55, Constant#61 [double] Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
12 Sub <- Unbox#7, Unbox#8 [double] Double
15 Mul <- Unbox#7, Unbox#8 [double] Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] Double
72 Mul <- Unbox#8, Unbox#8 [double] Double
50 Add <- Add#9, Sub#12 [double] Double
51 Add <- Add#50, Mul#15 [double] Double
52 Add <- Add#51, Div#28 [double] Double
53 Add <- Add#52, Mod#41 [double] Double
54 Add <- Add#53, Mul#70 [double] Double
55 Add <- Add#54, Mul#72 [double] Double
73 Constant 0 Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 Double
62 Mul <- Add#55, Constant#61 [double] Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] Double
12 Sub <- Unbox#7, Unbox#8 [double] Double
15 Mul <- Unbox#7, Unbox#8 [double] Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] Double
72 Mul <- Unbox#8, Unbox#8 [double] Double
50 Add <- Add#9, Sub#12 [double] Double
51 Add <- Add#50, Mul#15 [double] Double
52 Add <- Add#51, Div#28 [double] Double
53 Add <- Add#52, Mod#41 [double] Double
54 Add <- Add#53, Mul#70 [double] Double
55 Add <- Add#54, Mul#72 [double] Double
73 Constant 0 Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
75 Beta <- Add#55 F[0, ?] (U Infinity) Double
60 Goto -> block 9 None
Block 8
74 Beta <- Add#55 F[?, 0] (U NaN U -Infinity U -0) Double
61 Constant -1 Double
62 Mul <- Beta#74, Constant#61 [double] Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Beta#75 Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
75 Beta <- Add#55 F[0, ?] (U Infinity) F[0, ?] (U Infinity U -0): Double
60 Goto -> block 9 None
Block 8
74 Beta <- Add#55 F[?, 0] (U NaN U -Infinity U -0) F[?, 0] (U NaN U -Infinity U -0): Double
61 Constant -1 I[-1, -1]: Double
62 Mul <- Beta#74, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Beta#75 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
15 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
67 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
20 Goto -> block 3 None
Block 2
21 Constant magic optimized-out MagicOptimizedOut
22 Constant 0x1 I[1, 1]: Int32
23 Box <- Constant#22 Value
24 Goto -> block 3 None
Block 3
25 Phi <- Box#23, Parameter#2 Value
27 Unbox Phi#25 to Double (fallible) Double
28 Div <- Unbox#7, Unbox#27 [double] Double
68 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
33 Goto -> block 6 None
Block 5
34 Constant magic optimized-out MagicOptimizedOut
35 Constant 0x1 I[1, 1]: Int32
36 Box <- Constant#35 Value
37 Goto -> block 6 None
Block 6
38 Phi <- Box#36, Parameter#2 Value
40 Unbox Phi#38 to Double (fallible) Double
41 Mod <- Unbox#7, Unbox#40 [double] Double
70 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
72 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
50 Add <- Add#9, Sub#12 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
51 Add <- Add#50, Mul#15 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
52 Add <- Add#51, Div#28 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
53 Add <- Add#52, Mod#41 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
54 Add <- Add#53, Mul#70 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
55 Add <- Add#54, Mul#72 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
73 Constant 0 I[0, 0]: Double
58 Compare <- Add#55, Constant#73 Gt Bool
59 Test <- Compare#58 -> block 7, block 8 None
1
0
Block 7
60 Goto -> block 9 None
Block 8
61 Constant -1 I[-1, -1]: Double
62 Mul <- Add#55, Constant#61 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
63 Goto -> block 9 None
Block 9
64 Phi <- Mul#62, Add#55 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
65 Box <- Phi#64 Value
66 Return <- Box#65 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Parameter 1 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Unbox Parameter#1 to Double (fallible) Double
8 Unbox Parameter#2 to Double (fallible) Double
9 Add <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
10 Sub <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
11 Mul <- Unbox#7, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
12 Test <- Unbox#8 -> block 1, block 2 None
1
0
Block 1 (split edge)
13 Goto -> block 3 None
Block 2
14 Constant magic optimized-out MagicOptimizedOut
15 Constant 0x1 I[1, 1]: Int32
16 Box <- Constant#15 Value
17 Goto -> block 3 None
Block 3
18 Phi <- Box#16, Parameter#2 Value
19 Unbox Phi#18 to Double (fallible) Double
20 Div <- Unbox#7, Unbox#19 [double] Double
21 Test <- Unbox#8 -> block 4, block 5 None
1
0
Block 4 (split edge)
22 Goto -> block 6 None
Block 5
23 Constant magic optimized-out MagicOptimizedOut
24 Constant 0x1 I[1, 1]: Int32
25 Box <- Constant#24 Value
26 Goto -> block 6 None
Block 6
27 Phi <- Box#25, Parameter#2 Value
28 Add <- Add#9, Sub#10 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
29 Add <- Add#28, Mul#11 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
30 Add <- Add#29, Div#20 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
31 Mul <- Unbox#8, Unbox#8 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
32 Unbox Phi#27 to Double (fallible) Double
33 Mod <- Unbox#7, Unbox#32 [double] Double
34 Add <- Add#30, Mod#33 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
35 Mul <- Unbox#7, Unbox#7 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
36 Add <- Add#34, Mul#35 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
37 Add <- Add#36, Mul#31 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
38 Constant 0 I[0, 0]: Double
39 Compare <- Add#37, Constant#38 Gt Bool
40 Test <- Compare#39 -> block 7, block 8 None
1
0
Block 7
41 Goto -> block 9 None
Block 8
42 Constant -1 I[-1, -1]: Double
43 Mul <- Add#37, Constant#42 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
44 Goto -> block 9 None
Block 9
45 Phi <- Mul#43, Add#37 F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
46 Box <- Phi#45 Value
47 Return <- Box#46 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
62 UnreachableResult Value
63 Goto -> block 3 None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
79 UnreachableResult Value
80 Bail None
81 UnreachableResult Value
82 Goto -> block 5 None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
112 UnreachableResult Value
113 Goto -> block 11 None
Block 11
114 Phi <- UnreachableResult#112, NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 18 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 14, block 17 None
1
0
Block 14
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 15 None
Block 15
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 16 None
Block 16
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 17 None
Block 17 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 18
176 Goto -> block 19 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
114 Phi <- NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 18 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 14, block 17 None
1
0
Block 14
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 15 None
Block 15
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 16 None
Block 16
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 17 None
Block 17 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 18
176 Goto -> block 19 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
114 Phi <- NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 14, block 17 None
1
0
Block 14
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 15 None
Block 15
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 16 None
Block 16
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 17 None
Block 17 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
114 Phi <- NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 14, block 17 None
1
0
Block 14
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 15 None
Block 15
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 16 None
Block 16
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 17 None
Block 17 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
114 Phi <- NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 14, block 17 None
1
0
Block 14
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 15 None
Block 15
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 16 None
Block 16
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 17 None
Block 17 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
114 Phi <- NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 14, block 20 None
1
0
Block 20 (split edge)
192 Goto -> block 17 None
Block 14
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 15 None
Block 15
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 16 None
Block 16
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 17 None
Block 17 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
114 Phi <- NewArrayDynamicLength#106 Value
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
116 Phi <- Constant#37, Constant#37 Value
117 Phi <- Constant#37, Constant#37 Value
118 Phi <- ObjectKeys#27, ObjectKeys#27 Value
119 Phi <- Lambda#32, Lambda#32 Value
120 Phi <- ObjectKeys#27, ObjectKeys#27 Value
121 Phi <- MinMax#50, MinMax#50 Value
122 Phi <- Phi#92, Phi#92 Value
123 Phi <- Phi#114, Phi#114 Value
124 Phi <- Constant#115, Add#173 Value
125 Phi <- Constant#37, Phi#170 Value
126 Phi <- ObjectKeys#27, ObjectKeys#27 Value
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox Phi#121 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
133 Unbox Phi#120 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 15, block 14 None
1
0
Block 14 (split edge)
192 Goto -> block 18 None
Block 15
143 Unbox Phi#120 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Phi#119 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 16 None
Block 16
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 17 None
Block 17
164 Unbox Phi#123 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 18 None
Block 18 (backedge)
170 Phi <- MegamorphicLoadSlotByValue#161, Phi#125 Value
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox Phi#123 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, Phi#123, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
124 Phi <- Constant#115, Add#173 Value
193 Constant magic optimized-out MagicOptimizedOut
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox MinMax#50 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
198 Constant magic optimized-out MagicOptimizedOut
133 Unbox ObjectKeys#27 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 15, block 14 None
1
0
Block 14 (split edge)
195 Constant magic optimized-out MagicOptimizedOut
192 Goto -> block 18 None
Block 15
197 Constant magic optimized-out MagicOptimizedOut
143 Unbox ObjectKeys#27 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Lambda#32 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 16 None
Block 16
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 17 None
Block 17
196 Constant magic optimized-out MagicOptimizedOut
164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 18 None
Block 18 (backedge)
194 Constant magic optimized-out MagicOptimizedOut
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
124 Phi <- Constant#115, Add#173 Value
193 Constant magic optimized-out MagicOptimizedOut
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox MinMax#50 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
198 Constant magic optimized-out MagicOptimizedOut
133 Unbox ObjectKeys#27 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 15, block 14 None
1
0
Block 14 (split edge)
195 Constant magic optimized-out MagicOptimizedOut
192 Goto -> block 18 None
Block 15
197 Constant magic optimized-out MagicOptimizedOut
143 Unbox ObjectKeys#27 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Lambda#32 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 16 None
Block 16
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 17 None
Block 17
196 Constant magic optimized-out MagicOptimizedOut
164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 18 None
Block 18 (backedge)
194 Constant magic optimized-out MagicOptimizedOut
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
124 Phi <- Constant#115, Add#173 Value
193 Constant magic optimized-out MagicOptimizedOut
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox MinMax#50 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
198 Constant magic optimized-out MagicOptimizedOut
133 Unbox ObjectKeys#27 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 15, block 14 None
1
0
Block 14 (split edge)
195 Constant magic optimized-out MagicOptimizedOut
192 Goto -> block 18 None
Block 15
197 Constant magic optimized-out MagicOptimizedOut
143 Unbox ObjectKeys#27 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Lambda#32 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 16 None
Block 16
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 17 None
Block 17
196 Constant magic optimized-out MagicOptimizedOut
164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 18 None
Block 18 (backedge)
194 Constant magic optimized-out MagicOptimizedOut
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, FunctionEnvironment#6 None
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Callee#5 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
39 DebugCheckSelfHosted <- Constant#38 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
43 DebugCheckSelfHosted <- Constant#42 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
65 DebugCheckSelfHosted <- Constant#64 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
91 Goto -> block 8 None
Block 8
92 Phi <- Constant#90, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
94 DebugCheckSelfHosted <- Constant#93 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
100 DebugCheckSelfHosted <- Constant#99 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
124 Phi <- Constant#115, Add#173 Value
193 Constant magic optimized-out MagicOptimizedOut
128 InterruptCheck None
129 Unbox Phi#124 to Int32 (fallible) Int32
130 Unbox MinMax#50 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
198 Constant magic optimized-out MagicOptimizedOut
133 Unbox ObjectKeys#27 to Object (fallible) Object
134 Unbox Phi#124 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 15, block 14 None
1
0
Block 14 (split edge)
195 Constant magic optimized-out MagicOptimizedOut
192 Goto -> block 18 None
Block 15
197 Constant magic optimized-out MagicOptimizedOut
143 Unbox ObjectKeys#27 to Object (fallible) Object
144 Unbox Phi#124 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
153 Unbox Lambda#32 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 16 None
Block 16
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 17 None
Block 17
196 Constant magic optimized-out MagicOptimizedOut
164 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
165 Unbox Phi#124 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 18 None
Block 18 (backedge)
194 Constant magic optimized-out MagicOptimizedOut
171 Unbox Phi#124 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
177 Unbox NewArrayDynamicLength#106 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
199 Box <- FunctionEnvironment#6 Value
9 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#199 None
200 Box <- Callee#5 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#200 None
11 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
12 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
13 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
14 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
15 Constant object 104289c3f040 (LexicalEnvironment) Object
16 Constant object 104289c3e030 (global) Object
17 Constant function Object at 104289c422e0 Object
18 Constant function Object at 104289c422e0 Object
19 GuardObjectIdentity <- Constant#17, Constant#18 Object
20 Constant function keys at 104289c42468 Object
21 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
22 Constant 0x1 Int32
23 Constant function keys at 104289c42468 Object
24 GuardSpecificFunction <- Constant#20, Constant#23 Object
25 Unbox LoadFixedSlot#21 to Object (fallible) Object
26 GuardIsNotProxy <- Unbox#25 Object
27 ObjectKeys <- GuardIsNotProxy#26 Object
28 GuardShape <- ObjectKeys#27 Object
29 Constant object 104289c3e088 (Array) Object
30 Constant function map (self-hosted:163) at 104289c47920 Object
31 Constant function complex5/< (-e:22) at 104289c63e08 Object
32 Lambda <- NewCallObject#8, Constant#31 Object
33 Constant 0x1 Int32
34 Constant function map (self-hosted:163) at 104289c47920 Object
35 GuardSpecificFunction <- Constant#30, Constant#34 Object
36 Goto -> block 1 None
Block 1
37 Constant undefined Undefined
38 Constant function ToObject at 104289c6c740 Object
201 Box <- Constant#38 Value
39 DebugCheckSelfHosted <- Box#201 Value
40 Constant undefined Undefined
41 Constant 0x1 Int32
42 Constant function ToLength at 104289c6c778 Object
202 Box <- Constant#42 Value
43 DebugCheckSelfHosted <- Box#202 Value
44 Constant undefined Undefined
45 GuardShape <- ObjectKeys#27 Object
46 Elements <- GuardShape#45 Elements
47 ArrayLength <- Elements#46 Int32
48 Constant 0x1 Int32
49 Constant 0x0 Int32
50 MinMax <- ArrayLength#47, Constant#49 (max) Int32
51 Constant 0x1 Int32
52 Constant 0x0 Int32
53 Compare <- Constant#51, Constant#52 StrictEq Bool
54 Test <- Compare#53 -> block 2, block 3 None
1
0
Block 2
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x37 Int32
59 Constant 0x0 Int32
60 Constant string 104289c2e080 String
61 Bail None
191 Unreachable None
Block 3
64 Constant function IsCallable at 104289c6c7b0 Object
203 Box <- Constant#64 Value
65 DebugCheckSelfHosted <- Box#203 Value
66 Constant undefined Undefined
67 Constant 0x1 Int32
68 IsCallable <- Lambda#32 Bool
69 Test <- IsCallable#68 -> block 5, block 4 None
1
0
Block 4
70 CallGetIntrinsicValue Value
71 DebugCheckSelfHosted <- CallGetIntrinsicValue#70 Value
72 Constant undefined Undefined
73 Constant 0xc Int32
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0x0 Int32
78 Bail None
190 Unreachable None
Block 5
83 Constant 0x1 Int32
84 Constant 0x1 Int32
85 Compare <- Constant#83, Constant#84 Gt Bool
86 Test <- Compare#85 -> block 6, block 7 None
1
0
Block 6
87 Constant 0x1 Int32
88 GetInlinedArgument <- Constant#87, Lambda#32 Value
89 Goto -> block 8 None
Block 7
90 Constant undefined Undefined
204 Box <- Constant#90 Value
91 Goto -> block 8 None
Block 8
92 Phi <- Box#204, GetInlinedArgument#88 Value
93 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
205 Box <- Constant#93 Value
94 DebugCheckSelfHosted <- Box#205 Value
95 Constant undefined Undefined
96 Constant 0x1 Int32
97 HasShape <- ObjectKeys#27 Bool
98 Test <- HasShape#97 -> block 9, block 10 None
1
0
Block 9
99 Constant function std_Array at 104289c6c820 Object
206 Box <- Constant#99 Value
100 DebugCheckSelfHosted <- Box#206 Value
101 Constant undefined Undefined
102 Constant 0x1 Int32
103 Unbox DebugCheckSelfHosted#100 to Object (fallible) Object
104 Constant function std_Array at 104289c6c820 Object
105 GuardSpecificFunction <- Unbox#103, Constant#104 Object
106 NewArrayDynamicLength <- MinMax#50 Object
107 Goto -> block 11 None
Block 10
108 CallGetIntrinsicValue Value
109 DebugCheckSelfHosted <- CallGetIntrinsicValue#108 Value
110 Constant undefined Undefined
111 Bail None
189 Unreachable None
Block 11
115 Constant 0x0 Int32
127 Goto -> block 12 None
Block 12 (loop header)
124 Phi <- Constant#115, Add#173 Int32
193 Constant magic optimized-out MagicOptimizedOut
128 InterruptCheck None
207 Box <- Phi#124 Value
129 Unbox Box#207 to Int32 (fallible) Int32
208 Box <- MinMax#50 Value
130 Unbox Box#208 to Int32 (fallible) Int32
131 Compare <- Unbox#129, Unbox#130 Lt Bool
132 Test <- Compare#131 -> block 13, block 19 None
1
0
Block 13
198 Constant magic optimized-out MagicOptimizedOut
209 Box <- ObjectKeys#27 Value
133 Unbox Box#209 to Object (fallible) Object
210 Box <- Phi#124 Value
134 Unbox Box#210 to Int32 (fallible) Int32
135 GuardShape <- Unbox#133 Object
136 Elements <- GuardShape#135 Elements
137 InitializedLength <- Elements#136 Int32
138 BoundsCheck <- Unbox#134, InitializedLength#137 Int32
139 SpectreMaskIndex <- BoundsCheck#138, InitializedLength#137 Int32
140 GuardElementNotHole <- Elements#136, SpectreMaskIndex#139 None
141 Constant true Bool
142 Test <- Constant#141 -> block 15, block 14 None
1
0
Block 14 (split edge)
195 Constant magic optimized-out MagicOptimizedOut
192 Goto -> block 18 None
Block 15
197 Constant magic optimized-out MagicOptimizedOut
211 Box <- ObjectKeys#27 Value
143 Unbox Box#211 to Object (fallible) Object
212 Box <- Phi#124 Value
144 Unbox Box#212 to Int32 (fallible) Int32
145 GuardShape <- Unbox#143 Object
146 Elements <- GuardShape#145 Elements
147 InitializedLength <- Elements#146 Int32
148 BoundsCheck <- Unbox#144, InitializedLength#147 Int32
149 SpectreMaskIndex <- BoundsCheck#148, InitializedLength#147 Int32
150 GuardElementsArePacked <- Elements#146 None
151 LoadElement <- Elements#146, SpectreMaskIndex#149 Value
152 Constant 0x3 Int32
213 Box <- Lambda#32 Value
153 Unbox Box#213 to Object (fallible) Object
154 GuardToFunction <- Unbox#153 Object
155 GuardFunctionScript <- GuardToFunction#154 Object
156 Goto -> block 16 None
Block 16
157 Constant undefined Undefined
158 FunctionEnvironment <- GuardFunctionScript#155 Object
159 LoadFixedSlot <- FunctionEnvironment#158 (slot 2) Value
160 Unbox LoadFixedSlot#159 to Object (fallible) Object
161 MegamorphicLoadSlotByValue <- Unbox#160, LoadElement#151 Value
163 Goto -> block 17 None
Block 17
196 Constant magic optimized-out MagicOptimizedOut
214 Box <- NewArrayDynamicLength#106 Value
164 Unbox Box#214 to Object (fallible) Object
215 Box <- Phi#124 Value
165 Unbox Box#215 to Int32 (fallible) Int32
166 GuardShape <- Unbox#164 Object
167 Elements <- GuardShape#166 Elements
168 StoreElementHole <- GuardShape#166, Elements#167, Unbox#165, MegamorphicLoadSlotByValue#161 None
169 Goto -> block 18 None
Block 18 (backedge)
194 Constant magic optimized-out MagicOptimizedOut
216 Box <- Phi#124 Value
171 Unbox Box#216 to Int32 (fallible) Int32
172 Constant 0x1 Int32
173 Add <- Unbox#171, Constant#172 [int32] Int32
174 Goto -> block 12 None
Block 19
217 Box <- NewArrayDynamicLength#106 Value
177 Unbox Box#217 to Object (fallible) Object
178 GuardShape <- Unbox#177 Object
179 Constant object 104289c3e088 (Array) Object
180 Constant function reduce (self-hosted:205) at 104289c479c0 Object
181 Constant function complex5/< (-e:22) at 104289c63e40 Object
182 Lambda <- NewCallObject#8, Constant#181 Object
183 Constant 0x0 Int32
184 Constant 0x2 Int32
185 Constant function reduce (self-hosted:205) at 104289c479c0 Object
186 GuardSpecificFunction <- Constant#180, Constant#185 Object
187 Call <- GuardSpecificFunction#186, NewArrayDynamicLength#106, Lambda#182, Constant#183 Value
188 Return <- Call#187 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Constant object 104289c3f040 (LexicalEnvironment) Object
18 Constant object 104289c3e030 (global) Object
19 Constant function Object at 104289c422e0 Object
20 Constant function Object at 104289c422e0 Object
21 GuardObjectIdentity <- Constant#19, Constant#20 Object
22 Constant function keys at 104289c42468 Object
23 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
24 Constant 0x1 Int32
25 Constant function keys at 104289c42468 Object
26 GuardSpecificFunction <- Constant#22, Constant#25 Object
27 Unbox LoadFixedSlot#23 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
31 Constant object 104289c3e088 (Array) Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
35 Constant 0x1 Int32
36 Constant function map (self-hosted:163) at 104289c47920 Object
37 GuardSpecificFunction <- Constant#32, Constant#36 Object
38 Goto -> block 1 None
Block 1
39 Constant undefined Undefined
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
43 Constant undefined Undefined
44 Constant 0x1 Int32
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
48 Constant undefined Undefined
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 Int32
52 Constant 0x1 Int32
53 Constant 0x0 Int32
54 MinMax <- ArrayLength#51, Constant#53 (max) Int32
55 Constant 0x1 Int32
56 Constant 0x0 Int32
57 Compare <- Constant#55, Constant#56 StrictEq Bool
58 Test <- Compare#57 -> block 2, block 3 None
1
0
Block 2
59 CallGetIntrinsicValue Value
60 DebugCheckSelfHosted <- CallGetIntrinsicValue#59 Value
61 Constant undefined Undefined
62 Constant 0x37 Int32
63 Constant 0x0 Int32
64 Constant string 104289c2e080 String
65 Bail None
66 Unreachable None
Block 3
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
70 Constant undefined Undefined
71 Constant 0x1 Int32
72 IsCallable <- Lambda#34 Bool
73 Test <- IsCallable#72 -> block 5, block 4 None
1
0
Block 4
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0xc Int32
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
80 Constant undefined Undefined
81 Constant 0x0 Int32
82 Bail None
83 Unreachable None
Block 5
84 Constant 0x1 Int32
85 Constant 0x1 Int32
86 Compare <- Constant#84, Constant#85 Gt Bool
87 Test <- Compare#86 -> block 6, block 7 None
1
0
Block 6
88 Constant 0x1 Int32
89 GetInlinedArgument <- Constant#88, Lambda#34 Value
90 Goto -> block 8 None
Block 7
91 Constant undefined Undefined
92 Box <- Constant#91 Value
93 Goto -> block 8 None
Block 8
94 Phi <- Box#92, GetInlinedArgument#89 Value
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
98 Constant undefined Undefined
99 Constant 0x1 Int32
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 9, block 10 None
1
0
Block 9
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
105 Constant undefined Undefined
106 Constant 0x1 Int32
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
108 Constant function std_Array at 104289c6c820 Object
109 GuardSpecificFunction <- Unbox#107, Constant#108 Object
110 NewArrayDynamicLength <- MinMax#54 Object
111 Goto -> block 11 None
Block 10
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
114 Constant undefined Undefined
115 Bail None
116 Unreachable None
Block 11
117 Constant 0x0 Int32
118 Goto -> block 12 None
Block 12 (loop header)
119 Phi <- Constant#117, Add#180 Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
122 Box <- Phi#119 Value
123 Unbox Box#122 to Int32 (fallible) Int32
124 Box <- MinMax#54 Value
125 Unbox Box#124 to Int32 (fallible) Int32
126 Compare <- Unbox#123, Unbox#125 Lt Bool
127 Test <- Compare#126 -> block 13, block 19 None
1
0
Block 13
128 Constant magic optimized-out MagicOptimizedOut
129 Box <- ObjectKeys#29 Value
130 Unbox Box#129 to Object (fallible) Object
131 Box <- Phi#119 Value
132 Unbox Box#131 to Int32 (fallible) Int32
133 GuardShape <- Unbox#130 Object
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 Int32
136 BoundsCheck <- Unbox#132, InitializedLength#135 Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
139 Constant true Bool
140 Test <- Constant#139 -> block 15, block 14 None
1
0
Block 14 (split edge)
141 Constant magic optimized-out MagicOptimizedOut
142 Goto -> block 18 None
Block 15
143 Constant magic optimized-out MagicOptimizedOut
144 Box <- ObjectKeys#29 Value
145 Unbox Box#144 to Object (fallible) Object
146 Box <- Phi#119 Value
147 Unbox Box#146 to Int32 (fallible) Int32
148 GuardShape <- Unbox#145 Object
149 Elements <- GuardShape#148 Elements
150 InitializedLength <- Elements#149 Int32
151 BoundsCheck <- Unbox#147, InitializedLength#150 Int32
152 SpectreMaskIndex <- BoundsCheck#151, InitializedLength#150 Int32
153 GuardElementsArePacked <- Elements#149 None
154 LoadElement <- Elements#149, SpectreMaskIndex#152 Value
155 Constant 0x3 Int32
156 Box <- Lambda#34 Value
157 Unbox Box#156 to Object (fallible) Object
158 GuardToFunction <- Unbox#157 Object
159 GuardFunctionScript <- GuardToFunction#158 Object
160 Goto -> block 16 None
Block 16
161 Constant undefined Undefined
162 FunctionEnvironment <- GuardFunctionScript#159 Object
163 LoadFixedSlot <- FunctionEnvironment#162 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 17 None
Block 17
167 Constant magic optimized-out MagicOptimizedOut
168 Box <- NewArrayDynamicLength#110 Value
169 Unbox Box#168 to Object (fallible) Object
170 Box <- Phi#119 Value
171 Unbox Box#170 to Int32 (fallible) Int32
172 GuardShape <- Unbox#169 Object
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Unbox#171, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 18 None
Block 18 (backedge)
176 Constant magic optimized-out MagicOptimizedOut
177 Box <- Phi#119 Value
178 Unbox Box#177 to Int32 (fallible) Int32
179 Constant 0x1 Int32
180 Add <- Unbox#178, Constant#179 [int32] Int32
181 Goto -> block 12 None
Block 19
182 Box <- NewArrayDynamicLength#110 Value
183 Unbox Box#182 to Object (fallible) Object
184 GuardShape <- Unbox#183 Object
185 Constant object 104289c3e088 (Array) Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
189 Constant 0x0 Int32
190 Constant 0x2 Int32
191 Constant function reduce (self-hosted:205) at 104289c479c0 Object
192 GuardSpecificFunction <- Constant#186, Constant#191 Object
193 Call <- GuardSpecificFunction#192, NewArrayDynamicLength#110, Lambda#188, Constant#189 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Constant object 104289c3f040 (LexicalEnvironment) Object
18 Constant object 104289c3e030 (global) Object
19 Constant function Object at 104289c422e0 Object
20 Constant function Object at 104289c422e0 Object
21 GuardObjectIdentity <- Constant#19, Constant#20 Object
22 Constant function keys at 104289c42468 Object
23 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
24 Constant 0x1 Int32
25 Constant function keys at 104289c42468 Object
26 GuardSpecificFunction <- Constant#22, Constant#25 Object
27 Unbox LoadFixedSlot#23 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
31 Constant object 104289c3e088 (Array) Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
35 Constant 0x1 Int32
36 Constant function map (self-hosted:163) at 104289c47920 Object
37 GuardSpecificFunction <- Constant#32, Constant#36 Object
38 Goto -> block 1 None
Block 1
39 Constant undefined Undefined
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
43 Constant undefined Undefined
44 Constant 0x1 Int32
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
48 Constant undefined Undefined
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 Int32
52 Constant 0x1 Int32
53 Constant 0x0 Int32
54 MinMax <- ArrayLength#51, Constant#53 (max) Int32
55 Constant 0x1 Int32
56 Constant 0x0 Int32
57 Compare <- Constant#55, Constant#56 StrictEq Bool
58 Test <- Compare#57 -> block 2, block 3 None
1
0
Block 2
59 CallGetIntrinsicValue Value
60 DebugCheckSelfHosted <- CallGetIntrinsicValue#59 Value
61 Constant undefined Undefined
62 Constant 0x37 Int32
63 Constant 0x0 Int32
64 Constant string 104289c2e080 String
65 Bail None
66 Unreachable None
Block 3
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
70 Constant undefined Undefined
71 Constant 0x1 Int32
72 IsCallable <- Lambda#34 Bool
73 Test <- IsCallable#72 -> block 5, block 4 None
1
0
Block 4
74 CallGetIntrinsicValue Value
75 DebugCheckSelfHosted <- CallGetIntrinsicValue#74 Value
76 Constant undefined Undefined
77 Constant 0xc Int32
78 CallGetIntrinsicValue Value
79 DebugCheckSelfHosted <- CallGetIntrinsicValue#78 Value
80 Constant undefined Undefined
81 Constant 0x0 Int32
82 Bail None
83 Unreachable None
Block 5
84 Constant 0x1 Int32
85 Constant 0x1 Int32
86 Compare <- Constant#84, Constant#85 Gt Bool
87 Test <- Compare#86 -> block 6, block 7 None
1
0
Block 6
88 Constant 0x1 Int32
89 GetInlinedArgument <- Constant#88, Lambda#34 Value
90 Goto -> block 8 None
Block 7
91 Constant undefined Undefined
92 Box <- Constant#91 Value
93 Goto -> block 8 None
Block 8
94 Phi <- Box#92, GetInlinedArgument#89 Value
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
98 Constant undefined Undefined
99 Constant 0x1 Int32
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 9, block 10 None
1
0
Block 9
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
105 Constant undefined Undefined
106 Constant 0x1 Int32
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
108 Constant function std_Array at 104289c6c820 Object
109 GuardSpecificFunction <- Unbox#107, Constant#108 Object
110 NewArrayDynamicLength <- MinMax#54 Object
111 Goto -> block 11 None
Block 10
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
114 Constant undefined Undefined
115 Bail None
116 Unreachable None
Block 11
117 Constant 0x0 Int32
118 Goto -> block 12 None
Block 12 (loop header)
119 Phi <- Constant#117, Add#180 Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
122 Box <- Phi#119 Value
123 Unbox Box#122 to Int32 (fallible) Int32
124 Box <- MinMax#54 Value
125 Unbox Box#124 to Int32 (fallible) Int32
126 Compare <- Unbox#123, Unbox#125 Lt Bool
127 Test <- Compare#126 -> block 13, block 19 None
1
0
Block 13
128 Constant magic optimized-out MagicOptimizedOut
129 Box <- ObjectKeys#29 Value
130 Unbox Box#129 to Object (fallible) Object
131 Box <- Phi#119 Value
132 Unbox Box#131 to Int32 (fallible) Int32
133 GuardShape <- Unbox#130 Object
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 Int32
136 BoundsCheck <- Unbox#132, InitializedLength#135 Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
139 Constant true Bool
140 Test <- Constant#139 -> block 15, block 14 None
1
0
Block 14 (split edge)
141 Constant magic optimized-out MagicOptimizedOut
142 Goto -> block 18 None
Block 15
143 Constant magic optimized-out MagicOptimizedOut
144 Box <- ObjectKeys#29 Value
145 Unbox Box#144 to Object (fallible) Object
146 Box <- Phi#119 Value
147 Unbox Box#146 to Int32 (fallible) Int32
148 GuardShape <- Unbox#145 Object
149 Elements <- GuardShape#148 Elements
150 InitializedLength <- Elements#149 Int32
151 BoundsCheck <- Unbox#147, InitializedLength#150 Int32
152 SpectreMaskIndex <- BoundsCheck#151, InitializedLength#150 Int32
153 GuardElementsArePacked <- Elements#149 None
154 LoadElement <- Elements#149, SpectreMaskIndex#152 Value
155 Constant 0x3 Int32
156 Box <- Lambda#34 Value
157 Unbox Box#156 to Object (fallible) Object
158 GuardToFunction <- Unbox#157 Object
159 GuardFunctionScript <- GuardToFunction#158 Object
160 Goto -> block 16 None
Block 16
161 Constant undefined Undefined
162 FunctionEnvironment <- GuardFunctionScript#159 Object
163 LoadFixedSlot <- FunctionEnvironment#162 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 17 None
Block 17
167 Constant magic optimized-out MagicOptimizedOut
168 Box <- NewArrayDynamicLength#110 Value
169 Unbox Box#168 to Object (fallible) Object
170 Box <- Phi#119 Value
171 Unbox Box#170 to Int32 (fallible) Int32
172 GuardShape <- Unbox#169 Object
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Unbox#171, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 18 None
Block 18 (backedge)
176 Constant magic optimized-out MagicOptimizedOut
177 Box <- Phi#119 Value
178 Unbox Box#177 to Int32 (fallible) Int32
179 Constant 0x1 Int32
180 Add <- Unbox#178, Constant#179 [int32] Int32
181 Goto -> block 12 None
Block 19
182 Box <- NewArrayDynamicLength#110 Value
183 Unbox Box#182 to Object (fallible) Object
184 GuardShape <- Unbox#183 Object
185 Constant object 104289c3e088 (Array) Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
189 Constant 0x0 Int32
190 Constant 0x2 Int32
191 Constant function reduce (self-hosted:205) at 104289c479c0 Object
192 GuardSpecificFunction <- Constant#186, Constant#191 Object
193 Call <- GuardSpecificFunction#192, NewArrayDynamicLength#110, Lambda#188, Constant#189 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 Int32
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
133 GuardShape <- ObjectKeys#29 Object
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
172 GuardShape <- NewArrayDynamicLength#110 Object
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 Int32
180 Add <- Phi#119, Constant#179 [int32] Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 Int32
180 Add <- Phi#119, Constant#179 [int32] Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
228 Beta <- ArrayLength#51 I[-2147483647, 2147483647] Int32
227 Beta <- Phi#119 I[-2147483648, 2147483646] Int32
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 Int32
136 BoundsCheck <- Beta#227, InitializedLength#135 Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Beta#227, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 Int32
180 Add <- Beta#227, Constant#179 [int32] Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
228 Beta <- ArrayLength#51 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
227 Beta <- Phi#119 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Beta#227, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Beta#227, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Beta#227, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
27 Unbox Parameter#1 to Object (fallible) Object
28 GuardIsNotProxy <- Unbox#27 Object
29 ObjectKeys <- GuardIsNotProxy#28 Object
30 GuardShape <- ObjectKeys#29 Object
32 Constant function map (self-hosted:163) at 104289c47920 Object
33 Constant function complex5/< (-e:22) at 104289c63e08 Object
34 Lambda <- NewCallObject#8, Constant#33 Object
38 Goto -> block 1 None
Block 1
40 Constant function ToObject at 104289c6c740 Object
41 Box <- Constant#40 Value
42 DebugCheckSelfHosted <- Box#41 Value
45 Constant function ToLength at 104289c6c778 Object
46 Box <- Constant#45 Value
47 DebugCheckSelfHosted <- Box#46 Value
49 GuardShape <- ObjectKeys#29 Object
50 Elements <- GuardShape#49 Elements
51 ArrayLength <- Elements#50 I[0, 2147483647]: Int32
219 Goto -> block 2 None
Block 2
67 Constant function IsCallable at 104289c6c7b0 Object
68 Box <- Constant#67 Value
69 DebugCheckSelfHosted <- Box#68 Value
220 AssertClass <- Lambda#34 None
222 Goto -> block 3 None
Block 3
224 Goto -> block 4 None
Block 4
92 Box <- Constant#2 Value
93 Goto -> block 5 None
Block 5
95 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
96 Box <- Constant#95 Value
97 DebugCheckSelfHosted <- Box#96 Value
100 HasShape <- ObjectKeys#29 Bool
101 Test <- HasShape#100 -> block 6, block 7 None
1
0
Block 6
102 Constant function std_Array at 104289c6c820 Object
103 Box <- Constant#102 Value
104 DebugCheckSelfHosted <- Box#103 Value
107 Unbox DebugCheckSelfHosted#104 to Object (fallible) Object
109 GuardSpecificFunction <- Unbox#107, Constant#102 Object
110 NewArrayDynamicLength <- ArrayLength#51 Object
111 Goto -> block 8 None
Block 7
112 CallGetIntrinsicValue Value
113 DebugCheckSelfHosted <- CallGetIntrinsicValue#112 Value
115 Bail None
116 Unreachable None
Block 8
117 Constant 0x0 I[0, 0]: Int32
133 GuardShape <- ObjectKeys#29 Object
163 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
164 Unbox LoadFixedSlot#163 to Object (fallible) Object
172 GuardShape <- NewArrayDynamicLength#110 Object
118 Goto -> block 9 None
Block 9 (loop header)
119 Phi <- Constant#117, Add#180 I[0 {}, 2147483647 {[loop] #51-1}]: Int32
120 Constant magic optimized-out MagicOptimizedOut
121 InterruptCheck None
126 Compare <- Phi#119, ArrayLength#51 Lt Bool
127 Test <- Compare#126 -> block 10, block 15 None
1
0
Block 10
134 Elements <- GuardShape#133 Elements
135 InitializedLength <- Elements#134 I[0, 268435453]: Int32
136 BoundsCheck <- Phi#119, InitializedLength#135 I[0, 2147483646]: Int32
137 SpectreMaskIndex <- BoundsCheck#136, InitializedLength#135 I[0, 2147483646]: Int32
138 GuardElementNotHole <- Elements#134, SpectreMaskIndex#137 None
225 Goto -> block 11 None
Block 11
153 GuardElementsArePacked <- Elements#134 None
154 LoadElement <- Elements#134, SpectreMaskIndex#137 Value
226 AssertClass <- Lambda#34 None
160 Goto -> block 12 None
Block 12
165 MegamorphicLoadSlotByValue <- Unbox#164, LoadElement#154 Value
166 Goto -> block 13 None
Block 13
173 Elements <- GuardShape#172 Elements
174 StoreElementHole <- GuardShape#172, Elements#173, Phi#119, MegamorphicLoadSlotByValue#165 None
175 Goto -> block 14 None
Block 14 (backedge)
179 Constant 0x1 I[1, 1]: Int32
180 Add <- Phi#119, Constant#179 [int32] I[1, 2147483647]: Int32
181 Goto -> block 9 None
Block 15
184 GuardShape <- NewArrayDynamicLength#110 Object
186 Constant function reduce (self-hosted:205) at 104289c479c0 Object
187 Constant function complex5/< (-e:22) at 104289c63e40 Object
188 Lambda <- NewCallObject#8, Constant#187 Object
193 Call <- Constant#186, NewArrayDynamicLength#110, Lambda#188, Constant#117 Value
194 Return <- Call#193 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
61 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
62 Unbox LoadFixedSlot#61 to Object (fallible) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- BoundsCheck#72, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- Unbox#62, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
61 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
62 Unbox LoadFixedSlot#61 to Object (fallible) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- BoundsCheck#72, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- Unbox#62, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
61 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
62 Unbox LoadFixedSlot#61 to Object (fallible) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- BoundsCheck#72, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- Unbox#62, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
61 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
62 Unbox LoadFixedSlot#61 to Object (fallible) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- Unbox#62, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
15 PostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
61 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
62 Unbox LoadFixedSlot#61 to Object (fallible) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- Unbox#62, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
229 AssertCanElidePostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
61 LoadFixedSlot <- NewCallObject#8 (slot 2) Value
62 Unbox LoadFixedSlot#61 to Object (fallible) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- Unbox#62, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
229 AssertCanElidePostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
230 LoadFixedSlotAndUnbox <- NewCallObject#8 (slot 2) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#230, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
229 AssertCanElidePostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
231 DebugEnterGCUnsafeRegion None
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
232 DebugLeaveGCUnsafeRegion None
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox DebugCheckSelfHosted#50 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
230 LoadFixedSlotAndUnbox <- NewCallObject#8 (slot 2) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
237 DebugEnterGCUnsafeRegion None
235 DebugEnterGCUnsafeRegion None
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
238 DebugLeaveGCUnsafeRegion None
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
236 DebugLeaveGCUnsafeRegion None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
234 KeepAliveObject <- GuardShape#60 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
233 KeepAliveObject <- GuardShape#60 None
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#230, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
229 AssertCanElidePostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
231 DebugEnterGCUnsafeRegion None
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
232 DebugLeaveGCUnsafeRegion None
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox Box#49 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
230 LoadFixedSlotAndUnbox <- NewCallObject#8 (slot 2) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
237 DebugEnterGCUnsafeRegion None
235 DebugEnterGCUnsafeRegion None
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
238 DebugLeaveGCUnsafeRegion None
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
236 DebugLeaveGCUnsafeRegion None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
234 KeepAliveObject <- GuardShape#60 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
233 KeepAliveObject <- GuardShape#60 None
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#230, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Constant object 104289c3f078 (Call) Object
8 NewCallObject <- Constant#7 Object
9 Box <- FunctionEnvironment#6 Value
10 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#9 None
11 Box <- Callee#5 Value
12 AssertCanElidePostWriteBarrier <- NewCallObject#8, Box#11 None
13 StoreFixedSlot <- NewCallObject#8, FunctionEnvironment#6 (slot 0) None
14 StoreFixedSlot <- NewCallObject#8, Callee#5 (slot 1) None
229 AssertCanElidePostWriteBarrier <- NewCallObject#8, Parameter#1 None
16 StoreFixedSlot <- NewCallObject#8, Parameter#1 (slot 2) None
17 Unbox Parameter#1 to Object (fallible) Object
18 GuardIsNotProxy <- Unbox#17 Object
19 ObjectKeys <- GuardIsNotProxy#18 Object
20 GuardShape <- ObjectKeys#19 Object
21 Constant function map (self-hosted:163) at 104289c47920 Object
22 Constant function complex5/< (-e:22) at 104289c63e08 Object
23 Lambda <- NewCallObject#8, Constant#22 Object
24 Goto -> block 1 None
Block 1
25 Constant function ToObject at 104289c6c740 Object
26 Constant function ToLength at 104289c6c778 Object
27 Box <- Constant#25 Value
28 DebugCheckSelfHosted <- Box#27 Value
29 Box <- Constant#26 Value
30 DebugCheckSelfHosted <- Box#29 Value
31 GuardShape <- ObjectKeys#19 Object
32 Elements <- GuardShape#31 Elements
231 DebugEnterGCUnsafeRegion None
33 ArrayLength <- Elements#32 I[0, 2147483647]: Int32
232 DebugLeaveGCUnsafeRegion None
34 Goto -> block 2 None
Block 2
35 Constant function IsCallable at 104289c6c7b0 Object
36 Box <- Constant#35 Value
37 DebugCheckSelfHosted <- Box#36 Value
38 AssertClass <- Lambda#23 None
39 Goto -> block 3 None
Block 3
40 Goto -> block 4 None
Block 4
41 Box <- Constant#2 Value
42 Goto -> block 5 None
Block 5
43 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
44 Box <- Constant#43 Value
45 DebugCheckSelfHosted <- Box#44 Value
46 HasShape <- ObjectKeys#19 Bool
47 Test <- HasShape#46 -> block 6, block 7 None
1
0
Block 6
48 Constant function std_Array at 104289c6c820 Object
49 Box <- Constant#48 Value
50 DebugCheckSelfHosted <- Box#49 Value
51 Unbox Box#49 to Object (fallible) Object
52 GuardSpecificFunction <- Unbox#51, Constant#48 Object
53 NewArrayDynamicLength <- ArrayLength#33 Object
54 Goto -> block 8 None
Block 7
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Bail None
58 Unreachable None
Block 8
59 Constant 0x0 I[0, 0]: Int32
60 GuardShape <- ObjectKeys#19 Object
230 LoadFixedSlotAndUnbox <- NewCallObject#8 (slot 2) Object
63 GuardShape <- NewArrayDynamicLength#53 Object
64 Goto -> block 9 None
Block 9 (loop header)
65 Phi <- Constant#59, Add#86 I[0 {}, 2147483647 {[loop] #33-1}]: Int32
66 Constant magic optimized-out MagicOptimizedOut
67 InterruptCheck None
68 Compare <- Phi#65, ArrayLength#33 Lt Bool
69 Test <- Compare#68 -> block 10, block 15 None
1
0
Block 10
70 Elements <- GuardShape#60 Elements
237 DebugEnterGCUnsafeRegion None
235 DebugEnterGCUnsafeRegion None
71 InitializedLength <- Elements#70 I[0, 268435453]: Int32
238 DebugLeaveGCUnsafeRegion None
72 BoundsCheck <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
73 SpectreMaskIndex <- Phi#65, InitializedLength#71 I[0, 2147483646]: Int32
74 GuardElementNotHole <- Elements#70, SpectreMaskIndex#73 None
236 DebugLeaveGCUnsafeRegion None
75 Goto -> block 11 None
Block 11
76 GuardElementsArePacked <- Elements#70 None
234 KeepAliveObject <- GuardShape#60 None
77 LoadElement <- Elements#70, SpectreMaskIndex#73 Value
233 KeepAliveObject <- GuardShape#60 None
78 AssertClass <- Lambda#23 None
79 Goto -> block 12 None
Block 12
80 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#230, LoadElement#77 Value
81 Goto -> block 13 None
Block 13
82 Elements <- GuardShape#63 Elements
83 StoreElementHole <- GuardShape#63, Elements#82, Phi#65, MegamorphicLoadSlotByValue#80 None
84 Goto -> block 14 None
Block 14 (backedge)
85 Constant 0x1 I[1, 1]: Int32
86 Add <- Phi#65, Constant#85 [int32] I[1, 2147483647]: Int32
87 Goto -> block 9 None
Block 15
88 Constant function complex5/< (-e:22) at 104289c63e40 Object
89 GuardShape <- NewArrayDynamicLength#53 Object
90 Constant function reduce (self-hosted:205) at 104289c479c0 Object
91 Lambda <- NewCallObject#8, Constant#88 Object
92 Call <- Constant#90, NewArrayDynamicLength#53, Lambda#91, Constant#59 Value
93 Return <- Call#92 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
43 UnreachableResult Value
44 Goto -> block 3 None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
60 UnreachableResult Value
61 Bail None
62 UnreachableResult Value
63 Goto -> block 5 None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
93 UnreachableResult Value
94 Goto -> block 11 None
Block 11
95 Phi <- UnreachableResult#93, NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 18 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 14, block 17 None
1
0
Block 14
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 15 None
Block 15
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 16 None
Block 16
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 17 None
Block 17 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 18
156 Goto -> block 19 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
193 UnreachableResult Value
194 Goto -> block 22 None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
210 UnreachableResult Value
211 Bail None
212 UnreachableResult Value
213 Goto -> block 24 None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
238 UnreachableResult Value
239 Goto -> block 30 None
Block 30
240 Phi <- UnreachableResult#238, NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 38 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 33, block 37 None
1
0
Block 33
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 34 None
Block 34
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 35 None
Block 35
291 Test <- Compare#288 -> block 36, block 37 None
1
0
Block 36
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 37 None
Block 37 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 38
307 Goto -> block 39 None
Block 39
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
95 Phi <- NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 18 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 14, block 17 None
1
0
Block 14
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 15 None
Block 15
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 16 None
Block 16
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 17 None
Block 17 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 18
156 Goto -> block 19 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
240 Phi <- NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 38 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 33, block 37 None
1
0
Block 33
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 34 None
Block 34
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 35 None
Block 35
291 Test <- Compare#288 -> block 36, block 37 None
1
0
Block 36
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 37 None
Block 37 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 38
307 Goto -> block 39 None
Block 39
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
95 Phi <- NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 14, block 17 None
1
0
Block 14
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 15 None
Block 15
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 16 None
Block 16
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 17 None
Block 17 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
240 Phi <- NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 39 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 33, block 37 None
1
0
Block 33
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 34 None
Block 34
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 35 None
Block 35
291 Test <- Compare#288 -> block 36, block 37 None
1
0
Block 36
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 37 None
Block 37 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 39
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
95 Phi <- NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 14, block 17 None
1
0
Block 14
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 15 None
Block 15
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 16 None
Block 16
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 17 None
Block 17 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
240 Phi <- NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 39 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 33, block 37 None
1
0
Block 33
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 34 None
Block 34
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 35 None
Block 35
291 Test <- Compare#288 -> block 36, block 37 None
1
0
Block 36
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 37 None
Block 37 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 39
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
95 Phi <- NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 14, block 17 None
1
0
Block 14
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 15 None
Block 15
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 16 None
Block 16
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 17 None
Block 17 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
240 Phi <- NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 39 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 33, block 37 None
1
0
Block 33
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 34 None
Block 34
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 35 None
Block 35
291 Test <- Compare#288 -> block 36, block 37 None
1
0
Block 36
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 37 None
Block 37 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 39
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
95 Phi <- NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 14, block 40 None
1
0
Block 40 (split edge)
326 Goto -> block 17 None
Block 14
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 15 None
Block 15
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 16 None
Block 16
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 17 None
Block 17 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
240 Phi <- NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 39 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 33, block 41 None
1
0
Block 41 (split edge)
327 Goto -> block 37 None
Block 33
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 34 None
Block 34
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 35 None
Block 35
291 Test <- Compare#288 -> block 36, block 42 None
1
0
Block 42 (split edge)
328 Goto -> block 37 None
Block 36
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 37 None
Block 37 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 39
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
95 Phi <- NewArrayDynamicLength#87 Value
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
97 Phi <- Constant#17, Constant#17 Value
98 Phi <- Constant#17, Constant#17 Value
99 Phi <- Parameter#1, Parameter#1 Value
100 Phi <- Lambda#12, Lambda#12 Value
101 Phi <- Unbox#22, Unbox#22 Value
102 Phi <- MinMax#31, MinMax#31 Value
103 Phi <- Phi#73, Phi#73 Value
104 Phi <- Phi#95, Phi#95 Value
105 Phi <- Constant#96, Add#153 Value
106 Phi <- Constant#17, Phi#150 Value
107 Phi <- Parameter#1, Parameter#1 Value
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox Phi#102 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
114 Unbox Phi#101 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 15, block 14 None
1
0
Block 14 (split edge)
326 Goto -> block 18 None
Block 15
124 Unbox Phi#101 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Phi#100 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 16 None
Block 16
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 17 None
Block 17
144 Unbox Phi#104 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 18 None
Block 18 (backedge)
150 Phi <- Mul#141, Phi#106 Value
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox Phi#104 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox Phi#104 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
240 Phi <- NewArrayObject#231 Value
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
243 Phi <- Constant#167, Constant#167 Value
244 Phi <- Constant#167, Constant#167 Value
245 Phi <- Phi#104, Phi#104 Value
246 Phi <- Lambda#162, Lambda#162 Value
247 Phi <- Unbox#172, Unbox#172 Value
248 Phi <- MinMax#181, MinMax#181 Value
249 Phi <- Phi#223, Phi#223 Value
250 Phi <- Phi#240, Phi#240 Value
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
253 Phi <- Constant#167, Phi#301 Value
254 Phi <- Phi#104, Phi#104 Value
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox Phi#248 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 40 None
1
0
Block 32
261 Unbox Phi#247 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 34, block 33 None
1
0
Block 33 (split edge)
327 Goto -> block 39 None
Block 34
271 Unbox Phi#247 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Phi#246 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 35 None
Block 35
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 36 None
Block 36
291 Test <- Compare#288 -> block 38, block 37 None
1
0
Block 37 (split edge)
328 Goto -> block 39 None
Block 38
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox Phi#250 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 39 None
Block 39 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
301 Phi <- LoadElement#279, Phi#253, LoadElement#279 Value
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 40
308 Unbox Phi#250 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, Phi#250, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
105 Phi <- Constant#96, Add#153 Value
334 Constant magic optimized-out MagicOptimizedOut
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox MinMax#31 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
339 Constant magic optimized-out MagicOptimizedOut
114 Unbox Unbox#22 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 15, block 14 None
1
0
Block 14 (split edge)
336 Constant magic optimized-out MagicOptimizedOut
326 Goto -> block 18 None
Block 15
338 Constant magic optimized-out MagicOptimizedOut
124 Unbox Unbox#22 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Lambda#12 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 16 None
Block 16
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 17 None
Block 17
337 Constant magic optimized-out MagicOptimizedOut
144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 18 None
Block 18 (backedge)
335 Constant magic optimized-out MagicOptimizedOut
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
329 Constant magic optimized-out MagicOptimizedOut
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox MinMax#181 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 40 None
1
0
Block 32
333 Constant magic optimized-out MagicOptimizedOut
261 Unbox Unbox#172 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 34, block 33 None
1
0
Block 33 (split edge)
331 Constant magic optimized-out MagicOptimizedOut
327 Goto -> block 39 None
Block 34
332 Constant magic optimized-out MagicOptimizedOut
271 Unbox Unbox#172 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Lambda#162 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 35 None
Block 35
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 36 None
Block 36
291 Test <- Compare#288 -> block 38, block 37 None
1
0
Block 37 (split edge)
328 Goto -> block 39 None
Block 38
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox NewArrayObject#231 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 39 None
Block 39 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
330 Constant magic optimized-out MagicOptimizedOut
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 40
308 Unbox NewArrayObject#231 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
105 Phi <- Constant#96, Add#153 Value
334 Constant magic optimized-out MagicOptimizedOut
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox MinMax#31 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
339 Constant magic optimized-out MagicOptimizedOut
114 Unbox Unbox#22 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 15, block 14 None
1
0
Block 14 (split edge)
336 Constant magic optimized-out MagicOptimizedOut
326 Goto -> block 18 None
Block 15
338 Constant magic optimized-out MagicOptimizedOut
124 Unbox Unbox#22 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Lambda#12 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 16 None
Block 16
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 17 None
Block 17
337 Constant magic optimized-out MagicOptimizedOut
144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 18 None
Block 18 (backedge)
335 Constant magic optimized-out MagicOptimizedOut
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
329 Constant magic optimized-out MagicOptimizedOut
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox MinMax#181 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 40 None
1
0
Block 32
333 Constant magic optimized-out MagicOptimizedOut
261 Unbox Unbox#172 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 34, block 33 None
1
0
Block 33 (split edge)
331 Constant magic optimized-out MagicOptimizedOut
327 Goto -> block 39 None
Block 34
332 Constant magic optimized-out MagicOptimizedOut
271 Unbox Unbox#172 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Lambda#162 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 35 None
Block 35
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 36 None
Block 36
291 Test <- Compare#288 -> block 38, block 37 None
1
0
Block 37 (split edge)
328 Goto -> block 39 None
Block 38
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox NewArrayObject#231 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 39 None
Block 39 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
330 Constant magic optimized-out MagicOptimizedOut
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 40
308 Unbox NewArrayObject#231 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
105 Phi <- Constant#96, Add#153 Value
334 Constant magic optimized-out MagicOptimizedOut
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox MinMax#31 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
339 Constant magic optimized-out MagicOptimizedOut
114 Unbox Unbox#22 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 15, block 14 None
1
0
Block 14 (split edge)
336 Constant magic optimized-out MagicOptimizedOut
326 Goto -> block 18 None
Block 15
338 Constant magic optimized-out MagicOptimizedOut
124 Unbox Unbox#22 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Lambda#12 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 16 None
Block 16
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 17 None
Block 17
337 Constant magic optimized-out MagicOptimizedOut
144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 18 None
Block 18 (backedge)
335 Constant magic optimized-out MagicOptimizedOut
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
329 Constant magic optimized-out MagicOptimizedOut
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox MinMax#181 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 40 None
1
0
Block 32
333 Constant magic optimized-out MagicOptimizedOut
261 Unbox Unbox#172 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 34, block 33 None
1
0
Block 33 (split edge)
331 Constant magic optimized-out MagicOptimizedOut
327 Goto -> block 39 None
Block 34
332 Constant magic optimized-out MagicOptimizedOut
271 Unbox Unbox#172 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Lambda#162 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 35 None
Block 35
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 36 None
Block 36
291 Test <- Compare#288 -> block 38, block 37 None
1
0
Block 37 (split edge)
328 Goto -> block 39 None
Block 38
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox NewArrayObject#231 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 39 None
Block 39 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
330 Constant magic optimized-out MagicOptimizedOut
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 40
308 Unbox NewArrayObject#231 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 DebugCheckSelfHosted <- Constant#18 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
24 DebugCheckSelfHosted <- Constant#23 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
46 DebugCheckSelfHosted <- Constant#45 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
72 Goto -> block 8 None
Block 8
73 Phi <- Constant#71, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 DebugCheckSelfHosted <- Constant#74 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
81 DebugCheckSelfHosted <- Constant#80 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
105 Phi <- Constant#96, Add#153 Value
334 Constant magic optimized-out MagicOptimizedOut
109 InterruptCheck None
110 Unbox Phi#105 to Int32 (fallible) Int32
111 Unbox MinMax#31 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
339 Constant magic optimized-out MagicOptimizedOut
114 Unbox Unbox#22 to Object (fallible) Object
115 Unbox Phi#105 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 15, block 14 None
1
0
Block 14 (split edge)
336 Constant magic optimized-out MagicOptimizedOut
326 Goto -> block 18 None
Block 15
338 Constant magic optimized-out MagicOptimizedOut
124 Unbox Unbox#22 to Object (fallible) Object
125 Unbox Phi#105 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
134 Unbox Lambda#12 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 16 None
Block 16
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
141 Mul <- Unbox#140, Constant#139 [double] Double
143 Goto -> block 17 None
Block 17
337 Constant magic optimized-out MagicOptimizedOut
144 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
145 Unbox Phi#105 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 18 None
Block 18 (backedge)
335 Constant magic optimized-out MagicOptimizedOut
151 Unbox Phi#105 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
157 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
169 DebugCheckSelfHosted <- Constant#168 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
172 Unbox NewArrayDynamicLength#87 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
174 DebugCheckSelfHosted <- Constant#173 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
196 DebugCheckSelfHosted <- Constant#195 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
222 Goto -> block 27 None
Block 27
223 Phi <- Constant#221, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
225 DebugCheckSelfHosted <- Constant#224 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
251 Phi <- Constant#241, Add#304 Value
252 Phi <- Constant#242, Phi#300 Value
329 Constant magic optimized-out MagicOptimizedOut
256 InterruptCheck None
257 Unbox Phi#251 to Int32 (fallible) Int32
258 Unbox MinMax#181 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 40 None
1
0
Block 32
333 Constant magic optimized-out MagicOptimizedOut
261 Unbox Unbox#172 to Object (fallible) Object
262 Unbox Phi#251 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 34, block 33 None
1
0
Block 33 (split edge)
331 Constant magic optimized-out MagicOptimizedOut
327 Goto -> block 39 None
Block 34
332 Constant magic optimized-out MagicOptimizedOut
271 Unbox Unbox#172 to Object (fallible) Object
272 Unbox Phi#251 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
281 Unbox Lambda#162 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 35 None
Block 35
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
288 Compare <- Unbox#287, Constant#286 Gt Bool
290 Goto -> block 36 None
Block 36
291 Test <- Compare#288 -> block 38, block 37 None
1
0
Block 37 (split edge)
328 Goto -> block 39 None
Block 38
292 Unbox Phi#252 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
295 Unbox NewArrayObject#231 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 39 None
Block 39 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Value
330 Constant magic optimized-out MagicOptimizedOut
302 Unbox Phi#251 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 40
308 Unbox NewArrayObject#231 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
340 Box <- Constant#18 Value
19 DebugCheckSelfHosted <- Box#340 Value
20 Constant undefined Undefined
21 Constant 0x1 Int32
22 Unbox Parameter#1 to Object (fallible) Object
23 Constant function ToLength at 104289c6c778 Object
341 Box <- Constant#23 Value
24 DebugCheckSelfHosted <- Box#341 Value
25 Constant undefined Undefined
26 GuardShape <- Unbox#22 Object
27 Elements <- GuardShape#26 Elements
28 ArrayLength <- Elements#27 Int32
29 Constant 0x1 Int32
30 Constant 0x0 Int32
31 MinMax <- ArrayLength#28, Constant#30 (max) Int32
32 Constant 0x1 Int32
33 Constant 0x0 Int32
34 Compare <- Constant#32, Constant#33 StrictEq Bool
35 Test <- Compare#34 -> block 2, block 3 None
1
0
Block 2
36 CallGetIntrinsicValue Value
37 DebugCheckSelfHosted <- CallGetIntrinsicValue#36 Value
38 Constant undefined Undefined
39 Constant 0x37 Int32
40 Constant 0x0 Int32
41 Constant string 104289c2e080 String
42 Bail None
325 Unreachable None
Block 3
45 Constant function IsCallable at 104289c6c7b0 Object
342 Box <- Constant#45 Value
46 DebugCheckSelfHosted <- Box#342 Value
47 Constant undefined Undefined
48 Constant 0x1 Int32
49 IsCallable <- Lambda#12 Bool
50 Test <- IsCallable#49 -> block 5, block 4 None
1
0
Block 4
51 CallGetIntrinsicValue Value
52 DebugCheckSelfHosted <- CallGetIntrinsicValue#51 Value
53 Constant undefined Undefined
54 Constant 0xc Int32
55 CallGetIntrinsicValue Value
56 DebugCheckSelfHosted <- CallGetIntrinsicValue#55 Value
57 Constant undefined Undefined
58 Constant 0x0 Int32
59 Bail None
324 Unreachable None
Block 5
64 Constant 0x1 Int32
65 Constant 0x1 Int32
66 Compare <- Constant#64, Constant#65 Gt Bool
67 Test <- Compare#66 -> block 6, block 7 None
1
0
Block 6
68 Constant 0x1 Int32
69 GetInlinedArgument <- Constant#68, Lambda#12 Value
70 Goto -> block 8 None
Block 7
71 Constant undefined Undefined
343 Box <- Constant#71 Value
72 Goto -> block 8 None
Block 8
73 Phi <- Box#343, GetInlinedArgument#69 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
344 Box <- Constant#74 Value
75 DebugCheckSelfHosted <- Box#344 Value
76 Constant undefined Undefined
77 Constant 0x1 Int32
78 HasShape <- Unbox#22 Bool
79 Test <- HasShape#78 -> block 9, block 10 None
1
0
Block 9
80 Constant function std_Array at 104289c6c820 Object
345 Box <- Constant#80 Value
81 DebugCheckSelfHosted <- Box#345 Value
82 Constant undefined Undefined
83 Constant 0x1 Int32
84 Unbox DebugCheckSelfHosted#81 to Object (fallible) Object
85 Constant function std_Array at 104289c6c820 Object
86 GuardSpecificFunction <- Unbox#84, Constant#85 Object
87 NewArrayDynamicLength <- MinMax#31 Object
88 Goto -> block 11 None
Block 10
89 CallGetIntrinsicValue Value
90 DebugCheckSelfHosted <- CallGetIntrinsicValue#89 Value
91 Constant undefined Undefined
92 Bail None
323 Unreachable None
Block 11
96 Constant 0x0 Int32
108 Goto -> block 12 None
Block 12 (loop header)
105 Phi <- Constant#96, Add#153 Int32
334 Constant magic optimized-out MagicOptimizedOut
109 InterruptCheck None
346 Box <- Phi#105 Value
110 Unbox Box#346 to Int32 (fallible) Int32
347 Box <- MinMax#31 Value
111 Unbox Box#347 to Int32 (fallible) Int32
112 Compare <- Unbox#110, Unbox#111 Lt Bool
113 Test <- Compare#112 -> block 13, block 19 None
1
0
Block 13
339 Constant magic optimized-out MagicOptimizedOut
348 Box <- Unbox#22 Value
114 Unbox Box#348 to Object (fallible) Object
349 Box <- Phi#105 Value
115 Unbox Box#349 to Int32 (fallible) Int32
116 GuardShape <- Unbox#114 Object
117 Elements <- GuardShape#116 Elements
118 InitializedLength <- Elements#117 Int32
119 BoundsCheck <- Unbox#115, InitializedLength#118 Int32
120 SpectreMaskIndex <- BoundsCheck#119, InitializedLength#118 Int32
121 GuardElementNotHole <- Elements#117, SpectreMaskIndex#120 None
122 Constant true Bool
123 Test <- Constant#122 -> block 15, block 14 None
1
0
Block 14 (split edge)
336 Constant magic optimized-out MagicOptimizedOut
326 Goto -> block 18 None
Block 15
338 Constant magic optimized-out MagicOptimizedOut
350 Box <- Unbox#22 Value
124 Unbox Box#350 to Object (fallible) Object
351 Box <- Phi#105 Value
125 Unbox Box#351 to Int32 (fallible) Int32
126 GuardShape <- Unbox#124 Object
127 Elements <- GuardShape#126 Elements
128 InitializedLength <- Elements#127 Int32
129 BoundsCheck <- Unbox#125, InitializedLength#128 Int32
130 SpectreMaskIndex <- BoundsCheck#129, InitializedLength#128 Int32
131 GuardElementsArePacked <- Elements#127 None
132 LoadElement <- Elements#127, SpectreMaskIndex#130 Value
133 Constant 0x3 Int32
352 Box <- Lambda#12 Value
134 Unbox Box#352 to Object (fallible) Object
135 GuardToFunction <- Unbox#134 Object
136 GuardFunctionScript <- GuardToFunction#135 Object
137 Goto -> block 16 None
Block 16
138 Constant undefined Undefined
139 Constant 0x2 Int32
140 Unbox LoadElement#132 to Double (fallible) Double
353 ToDouble <- Constant#139 Double
141 Mul <- Unbox#140, ToDouble#353 [double] Double
143 Goto -> block 17 None
Block 17
337 Constant magic optimized-out MagicOptimizedOut
354 Box <- NewArrayDynamicLength#87 Value
144 Unbox Box#354 to Object (fallible) Object
355 Box <- Phi#105 Value
145 Unbox Box#355 to Int32 (fallible) Int32
146 GuardShape <- Unbox#144 Object
147 Elements <- GuardShape#146 Elements
148 StoreElementHole <- GuardShape#146, Elements#147, Unbox#145, Mul#141 None
149 Goto -> block 18 None
Block 18 (backedge)
335 Constant magic optimized-out MagicOptimizedOut
356 Box <- Phi#105 Value
151 Unbox Box#356 to Int32 (fallible) Int32
152 Constant 0x1 Int32
153 Add <- Unbox#151, Constant#152 [int32] Int32
154 Goto -> block 12 None
Block 19
357 Box <- NewArrayDynamicLength#87 Value
157 Unbox Box#357 to Object (fallible) Object
158 GuardShape <- Unbox#157 Object
159 Constant object 104289c3e088 (Array) Object
160 Constant function filter (self-hosted:183) at 104289c47970 Object
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 Lambda <- FunctionEnvironment#6, Constant#161 Object
163 Constant 0x1 Int32
164 Constant function filter (self-hosted:183) at 104289c47970 Object
165 GuardSpecificFunction <- Constant#160, Constant#164 Object
166 Goto -> block 20 None
Block 20
167 Constant undefined Undefined
168 Constant function ToObject at 104289c6c740 Object
358 Box <- Constant#168 Value
169 DebugCheckSelfHosted <- Box#358 Value
170 Constant undefined Undefined
171 Constant 0x1 Int32
359 Box <- NewArrayDynamicLength#87 Value
172 Unbox Box#359 to Object (fallible) Object
173 Constant function ToLength at 104289c6c778 Object
360 Box <- Constant#173 Value
174 DebugCheckSelfHosted <- Box#360 Value
175 Constant undefined Undefined
176 GuardShape <- Unbox#172 Object
177 Elements <- GuardShape#176 Elements
178 ArrayLength <- Elements#177 Int32
179 Constant 0x1 Int32
180 Constant 0x0 Int32
181 MinMax <- ArrayLength#178, Constant#180 (max) Int32
182 Constant 0x1 Int32
183 Constant 0x0 Int32
184 Compare <- Constant#182, Constant#183 StrictEq Bool
185 Test <- Compare#184 -> block 21, block 22 None
1
0
Block 21
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Constant undefined Undefined
189 Constant 0x37 Int32
190 Constant 0x0 Int32
191 Constant string 104289c28540 String
192 Bail None
322 Unreachable None
Block 22
195 Constant function IsCallable at 104289c6c7b0 Object
361 Box <- Constant#195 Value
196 DebugCheckSelfHosted <- Box#361 Value
197 Constant undefined Undefined
198 Constant 0x1 Int32
199 IsCallable <- Lambda#162 Bool
200 Test <- IsCallable#199 -> block 24, block 23 None
1
0
Block 23
201 CallGetIntrinsicValue Value
202 DebugCheckSelfHosted <- CallGetIntrinsicValue#201 Value
203 Constant undefined Undefined
204 Constant 0xc Int32
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x0 Int32
209 Bail None
321 Unreachable None
Block 24
214 Constant 0x1 Int32
215 Constant 0x1 Int32
216 Compare <- Constant#214, Constant#215 Gt Bool
217 Test <- Compare#216 -> block 25, block 26 None
1
0
Block 25
218 Constant 0x1 Int32
219 GetInlinedArgument <- Constant#218, Lambda#162 Value
220 Goto -> block 27 None
Block 26
221 Constant undefined Undefined
362 Box <- Constant#221 Value
222 Goto -> block 27 None
Block 27
223 Phi <- Box#362, GetInlinedArgument#219 Value
224 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
363 Box <- Constant#224 Value
225 DebugCheckSelfHosted <- Box#363 Value
226 Constant undefined Undefined
227 Constant 0x1 Int32
228 HasShape <- Unbox#172 Bool
229 Test <- HasShape#228 -> block 28, block 29 None
1
0
Block 28
230 Constant shape at 104289c64f00 Shape
231 NewArrayObject <- Constant#230 Object
232 Goto -> block 30 None
Block 29
233 CallGetIntrinsicValue Value
234 DebugCheckSelfHosted <- CallGetIntrinsicValue#233 Value
235 Constant undefined Undefined
236 Constant 0x0 Int32
237 Bail None
320 Unreachable None
Block 30
241 Constant 0x0 Int32
242 Constant 0x0 Int32
255 Goto -> block 31 None
Block 31 (loop header)
251 Phi <- Constant#241, Add#304 Int32
252 Phi <- Constant#242, Phi#300 Int32
329 Constant magic optimized-out MagicOptimizedOut
256 InterruptCheck None
364 Box <- Phi#251 Value
257 Unbox Box#364 to Int32 (fallible) Int32
365 Box <- MinMax#181 Value
258 Unbox Box#365 to Int32 (fallible) Int32
259 Compare <- Unbox#257, Unbox#258 Lt Bool
260 Test <- Compare#259 -> block 32, block 40 None
1
0
Block 32
333 Constant magic optimized-out MagicOptimizedOut
366 Box <- Unbox#172 Value
261 Unbox Box#366 to Object (fallible) Object
367 Box <- Phi#251 Value
262 Unbox Box#367 to Int32 (fallible) Int32
263 GuardShape <- Unbox#261 Object
264 Elements <- GuardShape#263 Elements
265 InitializedLength <- Elements#264 Int32
266 BoundsCheck <- Unbox#262, InitializedLength#265 Int32
267 SpectreMaskIndex <- BoundsCheck#266, InitializedLength#265 Int32
268 GuardElementNotHole <- Elements#264, SpectreMaskIndex#267 None
269 Constant true Bool
270 Test <- Constant#269 -> block 34, block 33 None
1
0
Block 33 (split edge)
331 Constant magic optimized-out MagicOptimizedOut
327 Goto -> block 39 None
Block 34
332 Constant magic optimized-out MagicOptimizedOut
368 Box <- Unbox#172 Value
271 Unbox Box#368 to Object (fallible) Object
369 Box <- Phi#251 Value
272 Unbox Box#369 to Int32 (fallible) Int32
273 GuardShape <- Unbox#271 Object
274 Elements <- GuardShape#273 Elements
275 InitializedLength <- Elements#274 Int32
276 BoundsCheck <- Unbox#272, InitializedLength#275 Int32
277 SpectreMaskIndex <- BoundsCheck#276, InitializedLength#275 Int32
278 GuardElementsArePacked <- Elements#274 None
279 LoadElement <- Elements#274, SpectreMaskIndex#277 Value
280 Constant 0x3 Int32
370 Box <- Lambda#162 Value
281 Unbox Box#370 to Object (fallible) Object
282 GuardToFunction <- Unbox#281 Object
283 GuardFunctionScript <- GuardToFunction#282 Object
284 Goto -> block 35 None
Block 35
285 Constant undefined Undefined
286 Constant 0x32 Int32
287 Unbox LoadElement#279 to Double (fallible) Double
371 ToDouble <- Constant#286 Double
288 Compare <- Unbox#287, ToDouble#371 Gt Bool
290 Goto -> block 36 None
Block 36
291 Test <- Compare#288 -> block 38, block 37 None
1
0
Block 37 (split edge)
328 Goto -> block 39 None
Block 38
372 Box <- Phi#252 Value
292 Unbox Box#372 to Int32 (fallible) Int32
293 Constant 0x1 Int32
294 Add <- Unbox#292, Constant#293 [int32] Int32
373 Box <- NewArrayObject#231 Value
295 Unbox Box#373 to Object (fallible) Object
296 GuardShape <- Unbox#295 Object
297 Elements <- GuardShape#296 Elements
298 StoreElementHole <- GuardShape#296, Elements#297, Unbox#292, LoadElement#279 None
299 Goto -> block 39 None
Block 39 (backedge)
300 Phi <- Add#294, Phi#252, Phi#252 Int32
330 Constant magic optimized-out MagicOptimizedOut
374 Box <- Phi#251 Value
302 Unbox Box#374 to Int32 (fallible) Int32
303 Constant 0x1 Int32
304 Add <- Unbox#302, Constant#303 [int32] Int32
305 Goto -> block 31 None
Block 40
375 Box <- NewArrayObject#231 Value
308 Unbox Box#375 to Object (fallible) Object
309 GuardShape <- Unbox#308 Object
310 Constant object 104289c3e088 (Array) Object
311 Constant function reduce (self-hosted:205) at 104289c479c0 Object
312 Constant function complex4/< (-e:18) at 104289c63d98 Object
313 Lambda <- FunctionEnvironment#6, Constant#312 Object
314 Constant 0x0 Int32
315 Constant 0x2 Int32
316 Constant function reduce (self-hosted:205) at 104289c479c0 Object
317 GuardSpecificFunction <- Constant#311, Constant#316 Object
318 Call <- GuardSpecificFunction#317, NewArrayObject#231, Lambda#313, Constant#314 Value
319 Return <- Call#318 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
21 Constant undefined Undefined
22 Constant 0x1 Int32
23 Unbox Parameter#1 to Object (fallible) Object
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
27 Constant undefined Undefined
28 GuardShape <- Unbox#23 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 Int32
31 Constant 0x1 Int32
32 Constant 0x0 Int32
33 MinMax <- ArrayLength#30, Constant#32 (max) Int32
34 Constant 0x1 Int32
35 Constant 0x0 Int32
36 Compare <- Constant#34, Constant#35 StrictEq Bool
37 Test <- Compare#36 -> block 2, block 3 None
1
0
Block 2
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0x37 Int32
42 Constant 0x0 Int32
43 Constant string 104289c2e080 String
44 Bail None
45 Unreachable None
Block 3
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
49 Constant undefined Undefined
50 Constant 0x1 Int32
51 IsCallable <- Lambda#12 Bool
52 Test <- IsCallable#51 -> block 5, block 4 None
1
0
Block 4
53 CallGetIntrinsicValue Value
54 DebugCheckSelfHosted <- CallGetIntrinsicValue#53 Value
55 Constant undefined Undefined
56 Constant 0xc Int32
57 CallGetIntrinsicValue Value
58 DebugCheckSelfHosted <- CallGetIntrinsicValue#57 Value
59 Constant undefined Undefined
60 Constant 0x0 Int32
61 Bail None
62 Unreachable None
Block 5
63 Constant 0x1 Int32
64 Constant 0x1 Int32
65 Compare <- Constant#63, Constant#64 Gt Bool
66 Test <- Compare#65 -> block 6, block 7 None
1
0
Block 6
67 Constant 0x1 Int32
68 GetInlinedArgument <- Constant#67, Lambda#12 Value
69 Goto -> block 8 None
Block 7
70 Constant undefined Undefined
71 Box <- Constant#70 Value
72 Goto -> block 8 None
Block 8
73 Phi <- Box#71, GetInlinedArgument#68 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 HasShape <- Unbox#23 Bool
80 Test <- HasShape#79 -> block 9, block 10 None
1
0
Block 9
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
84 Constant undefined Undefined
85 Constant 0x1 Int32
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
87 Constant function std_Array at 104289c6c820 Object
88 GuardSpecificFunction <- Unbox#86, Constant#87 Object
89 NewArrayDynamicLength <- MinMax#33 Object
90 Goto -> block 11 None
Block 10
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
93 Constant undefined Undefined
94 Bail None
95 Unreachable None
Block 11
96 Constant 0x0 Int32
97 Goto -> block 12 None
Block 12 (loop header)
98 Phi <- Constant#96, Add#159 Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
101 Box <- Phi#98 Value
102 Unbox Box#101 to Int32 (fallible) Int32
103 Box <- MinMax#33 Value
104 Unbox Box#103 to Int32 (fallible) Int32
105 Compare <- Unbox#102, Unbox#104 Lt Bool
106 Test <- Compare#105 -> block 13, block 19 None
1
0
Block 13
107 Constant magic optimized-out MagicOptimizedOut
108 Box <- Unbox#23 Value
109 Unbox Box#108 to Object (fallible) Object
110 Box <- Phi#98 Value
111 Unbox Box#110 to Int32 (fallible) Int32
112 GuardShape <- Unbox#109 Object
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 Int32
115 BoundsCheck <- Unbox#111, InitializedLength#114 Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
118 Constant true Bool
119 Test <- Constant#118 -> block 15, block 14 None
1
0
Block 14 (split edge)
120 Constant magic optimized-out MagicOptimizedOut
121 Goto -> block 18 None
Block 15
122 Constant magic optimized-out MagicOptimizedOut
123 Box <- Unbox#23 Value
124 Unbox Box#123 to Object (fallible) Object
125 Box <- Phi#98 Value
126 Unbox Box#125 to Int32 (fallible) Int32
127 GuardShape <- Unbox#124 Object
128 Elements <- GuardShape#127 Elements
129 InitializedLength <- Elements#128 Int32
130 BoundsCheck <- Unbox#126, InitializedLength#129 Int32
131 SpectreMaskIndex <- BoundsCheck#130, InitializedLength#129 Int32
132 GuardElementsArePacked <- Elements#128 None
133 LoadElement <- Elements#128, SpectreMaskIndex#131 Value
134 Constant 0x3 Int32
135 Box <- Lambda#12 Value
136 Unbox Box#135 to Object (fallible) Object
137 GuardToFunction <- Unbox#136 Object
138 GuardFunctionScript <- GuardToFunction#137 Object
139 Goto -> block 16 None
Block 16
140 Constant undefined Undefined
141 Constant 0x2 Int32
142 Unbox LoadElement#133 to Double (fallible) Double
143 ToDouble <- Constant#141 Double
144 Mul <- Unbox#142, ToDouble#143 [double] Double
145 Goto -> block 17 None
Block 17
146 Constant magic optimized-out MagicOptimizedOut
147 Box <- NewArrayDynamicLength#89 Value
148 Unbox Box#147 to Object (fallible) Object
149 Box <- Phi#98 Value
150 Unbox Box#149 to Int32 (fallible) Int32
151 GuardShape <- Unbox#148 Object
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Unbox#150, Mul#144 None
154 Goto -> block 18 None
Block 18 (backedge)
155 Constant magic optimized-out MagicOptimizedOut
156 Box <- Phi#98 Value
157 Unbox Box#156 to Int32 (fallible) Int32
158 Constant 0x1 Int32
159 Add <- Unbox#157, Constant#158 [int32] Int32
160 Goto -> block 12 None
Block 19
161 Box <- NewArrayDynamicLength#89 Value
162 Unbox Box#161 to Object (fallible) Object
163 GuardShape <- Unbox#162 Object
164 Constant object 104289c3e088 (Array) Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
168 Constant 0x1 Int32
169 Constant function filter (self-hosted:183) at 104289c47970 Object
170 GuardSpecificFunction <- Constant#165, Constant#169 Object
171 Goto -> block 20 None
Block 20
172 Constant undefined Undefined
173 Constant function ToObject at 104289c6c740 Object
174 Box <- Constant#173 Value
175 DebugCheckSelfHosted <- Box#174 Value
176 Constant undefined Undefined
177 Constant 0x1 Int32
178 Box <- NewArrayDynamicLength#89 Value
179 Unbox Box#178 to Object (fallible) Object
180 Constant function ToLength at 104289c6c778 Object
181 Box <- Constant#180 Value
182 DebugCheckSelfHosted <- Box#181 Value
183 Constant undefined Undefined
184 GuardShape <- Unbox#179 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 Int32
187 Constant 0x1 Int32
188 Constant 0x0 Int32
189 MinMax <- ArrayLength#186, Constant#188 (max) Int32
190 Constant 0x1 Int32
191 Constant 0x0 Int32
192 Compare <- Constant#190, Constant#191 StrictEq Bool
193 Test <- Compare#192 -> block 21, block 22 None
1
0
Block 21
194 CallGetIntrinsicValue Value
195 DebugCheckSelfHosted <- CallGetIntrinsicValue#194 Value
196 Constant undefined Undefined
197 Constant 0x37 Int32
198 Constant 0x0 Int32
199 Constant string 104289c28540 String
200 Bail None
201 Unreachable None
Block 22
202 Constant function IsCallable at 104289c6c7b0 Object
203 Box <- Constant#202 Value
204 DebugCheckSelfHosted <- Box#203 Value
205 Constant undefined Undefined
206 Constant 0x1 Int32
207 IsCallable <- Lambda#167 Bool
208 Test <- IsCallable#207 -> block 24, block 23 None
1
0
Block 23
209 CallGetIntrinsicValue Value
210 DebugCheckSelfHosted <- CallGetIntrinsicValue#209 Value
211 Constant undefined Undefined
212 Constant 0xc Int32
213 CallGetIntrinsicValue Value
214 DebugCheckSelfHosted <- CallGetIntrinsicValue#213 Value
215 Constant undefined Undefined
216 Constant 0x0 Int32
217 Bail None
218 Unreachable None
Block 24
219 Constant 0x1 Int32
220 Constant 0x1 Int32
221 Compare <- Constant#219, Constant#220 Gt Bool
222 Test <- Compare#221 -> block 25, block 26 None
1
0
Block 25
223 Constant 0x1 Int32
224 GetInlinedArgument <- Constant#223, Lambda#167 Value
225 Goto -> block 27 None
Block 26
226 Constant undefined Undefined
227 Box <- Constant#226 Value
228 Goto -> block 27 None
Block 27
229 Phi <- Box#227, GetInlinedArgument#224 Value
230 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
231 Box <- Constant#230 Value
232 DebugCheckSelfHosted <- Box#231 Value
233 Constant undefined Undefined
234 Constant 0x1 Int32
235 HasShape <- Unbox#179 Bool
236 Test <- HasShape#235 -> block 28, block 29 None
1
0
Block 28
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 30 None
Block 29
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
242 Constant undefined Undefined
243 Constant 0x0 Int32
244 Bail None
245 Unreachable None
Block 30
246 Constant 0x0 Int32
247 Constant 0x0 Int32
248 Goto -> block 31 None
Block 31 (loop header)
249 Phi <- Constant#246, Add#315 Int32
250 Phi <- Constant#247, Phi#310 Int32
251 Constant magic optimized-out MagicOptimizedOut
252 InterruptCheck None
253 Box <- Phi#249 Value
254 Unbox Box#253 to Int32 (fallible) Int32
255 Box <- MinMax#189 Value
256 Unbox Box#255 to Int32 (fallible) Int32
257 Compare <- Unbox#254, Unbox#256 Lt Bool
258 Test <- Compare#257 -> block 32, block 40 None
1
0
Block 32
259 Constant magic optimized-out MagicOptimizedOut
260 Box <- Unbox#179 Value
261 Unbox Box#260 to Object (fallible) Object
262 Box <- Phi#249 Value
263 Unbox Box#262 to Int32 (fallible) Int32
264 GuardShape <- Unbox#261 Object
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 Int32
267 BoundsCheck <- Unbox#263, InitializedLength#266 Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
270 Constant true Bool
271 Test <- Constant#270 -> block 34, block 33 None
1
0
Block 33 (split edge)
272 Constant magic optimized-out MagicOptimizedOut
273 Goto -> block 39 None
Block 34
274 Constant magic optimized-out MagicOptimizedOut
275 Box <- Unbox#179 Value
276 Unbox Box#275 to Object (fallible) Object
277 Box <- Phi#249 Value
278 Unbox Box#277 to Int32 (fallible) Int32
279 GuardShape <- Unbox#276 Object
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Unbox#278, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementsArePacked <- Elements#280 None
285 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
286 Constant 0x3 Int32
287 Box <- Lambda#167 Value
288 Unbox Box#287 to Object (fallible) Object
289 GuardToFunction <- Unbox#288 Object
290 GuardFunctionScript <- GuardToFunction#289 Object
291 Goto -> block 35 None
Block 35
292 Constant undefined Undefined
293 Constant 0x32 Int32
294 Unbox LoadElement#285 to Double (fallible) Double
295 ToDouble <- Constant#293 Double
296 Compare <- Unbox#294, ToDouble#295 Gt Bool
297 Goto -> block 36 None
Block 36
298 Test <- Compare#296 -> block 38, block 37 None
1
0
Block 37 (split edge)
299 Goto -> block 39 None
Block 38
300 Box <- Phi#250 Value
301 Unbox Box#300 to Int32 (fallible) Int32
302 Constant 0x1 Int32
303 Add <- Unbox#301, Constant#302 [int32] Int32
304 Box <- NewArrayObject#238 Value
305 Unbox Box#304 to Object (fallible) Object
306 GuardShape <- Unbox#305 Object
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Unbox#301, LoadElement#285 None
309 Goto -> block 39 None
Block 39 (backedge)
310 Phi <- Add#303, Phi#250, Phi#250 Int32
311 Constant magic optimized-out MagicOptimizedOut
312 Box <- Phi#249 Value
313 Unbox Box#312 to Int32 (fallible) Int32
314 Constant 0x1 Int32
315 Add <- Unbox#313, Constant#314 [int32] Int32
316 Goto -> block 31 None
Block 40
317 Box <- NewArrayObject#238 Value
318 Unbox Box#317 to Object (fallible) Object
319 GuardShape <- Unbox#318 Object
320 Constant object 104289c3e088 (Array) Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
324 Constant 0x0 Int32
325 Constant 0x2 Int32
326 Constant function reduce (self-hosted:205) at 104289c479c0 Object
327 GuardSpecificFunction <- Constant#321, Constant#326 Object
328 Call <- GuardSpecificFunction#327, NewArrayObject#238, Lambda#323, Constant#324 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant object 104289c3e088 (Array) Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
13 Constant 0x1 Int32
14 Constant function map (self-hosted:163) at 104289c47920 Object
15 GuardSpecificFunction <- Constant#10, Constant#14 Object
16 Goto -> block 1 None
Block 1
17 Constant undefined Undefined
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
21 Constant undefined Undefined
22 Constant 0x1 Int32
23 Unbox Parameter#1 to Object (fallible) Object
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
27 Constant undefined Undefined
28 GuardShape <- Unbox#23 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 Int32
31 Constant 0x1 Int32
32 Constant 0x0 Int32
33 MinMax <- ArrayLength#30, Constant#32 (max) Int32
34 Constant 0x1 Int32
35 Constant 0x0 Int32
36 Compare <- Constant#34, Constant#35 StrictEq Bool
37 Test <- Compare#36 -> block 2, block 3 None
1
0
Block 2
38 CallGetIntrinsicValue Value
39 DebugCheckSelfHosted <- CallGetIntrinsicValue#38 Value
40 Constant undefined Undefined
41 Constant 0x37 Int32
42 Constant 0x0 Int32
43 Constant string 104289c2e080 String
44 Bail None
45 Unreachable None
Block 3
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
49 Constant undefined Undefined
50 Constant 0x1 Int32
51 IsCallable <- Lambda#12 Bool
52 Test <- IsCallable#51 -> block 5, block 4 None
1
0
Block 4
53 CallGetIntrinsicValue Value
54 DebugCheckSelfHosted <- CallGetIntrinsicValue#53 Value
55 Constant undefined Undefined
56 Constant 0xc Int32
57 CallGetIntrinsicValue Value
58 DebugCheckSelfHosted <- CallGetIntrinsicValue#57 Value
59 Constant undefined Undefined
60 Constant 0x0 Int32
61 Bail None
62 Unreachable None
Block 5
63 Constant 0x1 Int32
64 Constant 0x1 Int32
65 Compare <- Constant#63, Constant#64 Gt Bool
66 Test <- Compare#65 -> block 6, block 7 None
1
0
Block 6
67 Constant 0x1 Int32
68 GetInlinedArgument <- Constant#67, Lambda#12 Value
69 Goto -> block 8 None
Block 7
70 Constant undefined Undefined
71 Box <- Constant#70 Value
72 Goto -> block 8 None
Block 8
73 Phi <- Box#71, GetInlinedArgument#68 Value
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 HasShape <- Unbox#23 Bool
80 Test <- HasShape#79 -> block 9, block 10 None
1
0
Block 9
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
84 Constant undefined Undefined
85 Constant 0x1 Int32
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
87 Constant function std_Array at 104289c6c820 Object
88 GuardSpecificFunction <- Unbox#86, Constant#87 Object
89 NewArrayDynamicLength <- MinMax#33 Object
90 Goto -> block 11 None
Block 10
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
93 Constant undefined Undefined
94 Bail None
95 Unreachable None
Block 11
96 Constant 0x0 Int32
97 Goto -> block 12 None
Block 12 (loop header)
98 Phi <- Constant#96, Add#159 Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
101 Box <- Phi#98 Value
102 Unbox Box#101 to Int32 (fallible) Int32
103 Box <- MinMax#33 Value
104 Unbox Box#103 to Int32 (fallible) Int32
105 Compare <- Unbox#102, Unbox#104 Lt Bool
106 Test <- Compare#105 -> block 13, block 19 None
1
0
Block 13
107 Constant magic optimized-out MagicOptimizedOut
108 Box <- Unbox#23 Value
109 Unbox Box#108 to Object (fallible) Object
110 Box <- Phi#98 Value
111 Unbox Box#110 to Int32 (fallible) Int32
112 GuardShape <- Unbox#109 Object
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 Int32
115 BoundsCheck <- Unbox#111, InitializedLength#114 Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
118 Constant true Bool
119 Test <- Constant#118 -> block 15, block 14 None
1
0
Block 14 (split edge)
120 Constant magic optimized-out MagicOptimizedOut
121 Goto -> block 18 None
Block 15
122 Constant magic optimized-out MagicOptimizedOut
123 Box <- Unbox#23 Value
124 Unbox Box#123 to Object (fallible) Object
125 Box <- Phi#98 Value
126 Unbox Box#125 to Int32 (fallible) Int32
127 GuardShape <- Unbox#124 Object
128 Elements <- GuardShape#127 Elements
129 InitializedLength <- Elements#128 Int32
130 BoundsCheck <- Unbox#126, InitializedLength#129 Int32
131 SpectreMaskIndex <- BoundsCheck#130, InitializedLength#129 Int32
132 GuardElementsArePacked <- Elements#128 None
133 LoadElement <- Elements#128, SpectreMaskIndex#131 Value
134 Constant 0x3 Int32
135 Box <- Lambda#12 Value
136 Unbox Box#135 to Object (fallible) Object
137 GuardToFunction <- Unbox#136 Object
138 GuardFunctionScript <- GuardToFunction#137 Object
139 Goto -> block 16 None
Block 16
140 Constant undefined Undefined
141 Constant 0x2 Int32
142 Unbox LoadElement#133 to Double (fallible) Double
143 ToDouble <- Constant#141 Double
144 Mul <- Unbox#142, ToDouble#143 [double] Double
145 Goto -> block 17 None
Block 17
146 Constant magic optimized-out MagicOptimizedOut
147 Box <- NewArrayDynamicLength#89 Value
148 Unbox Box#147 to Object (fallible) Object
149 Box <- Phi#98 Value
150 Unbox Box#149 to Int32 (fallible) Int32
151 GuardShape <- Unbox#148 Object
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Unbox#150, Mul#144 None
154 Goto -> block 18 None
Block 18 (backedge)
155 Constant magic optimized-out MagicOptimizedOut
156 Box <- Phi#98 Value
157 Unbox Box#156 to Int32 (fallible) Int32
158 Constant 0x1 Int32
159 Add <- Unbox#157, Constant#158 [int32] Int32
160 Goto -> block 12 None
Block 19
161 Box <- NewArrayDynamicLength#89 Value
162 Unbox Box#161 to Object (fallible) Object
163 GuardShape <- Unbox#162 Object
164 Constant object 104289c3e088 (Array) Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
168 Constant 0x1 Int32
169 Constant function filter (self-hosted:183) at 104289c47970 Object
170 GuardSpecificFunction <- Constant#165, Constant#169 Object
171 Goto -> block 20 None
Block 20
172 Constant undefined Undefined
173 Constant function ToObject at 104289c6c740 Object
174 Box <- Constant#173 Value
175 DebugCheckSelfHosted <- Box#174 Value
176 Constant undefined Undefined
177 Constant 0x1 Int32
178 Box <- NewArrayDynamicLength#89 Value
179 Unbox Box#178 to Object (fallible) Object
180 Constant function ToLength at 104289c6c778 Object
181 Box <- Constant#180 Value
182 DebugCheckSelfHosted <- Box#181 Value
183 Constant undefined Undefined
184 GuardShape <- Unbox#179 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 Int32
187 Constant 0x1 Int32
188 Constant 0x0 Int32
189 MinMax <- ArrayLength#186, Constant#188 (max) Int32
190 Constant 0x1 Int32
191 Constant 0x0 Int32
192 Compare <- Constant#190, Constant#191 StrictEq Bool
193 Test <- Compare#192 -> block 21, block 22 None
1
0
Block 21
194 CallGetIntrinsicValue Value
195 DebugCheckSelfHosted <- CallGetIntrinsicValue#194 Value
196 Constant undefined Undefined
197 Constant 0x37 Int32
198 Constant 0x0 Int32
199 Constant string 104289c28540 String
200 Bail None
201 Unreachable None
Block 22
202 Constant function IsCallable at 104289c6c7b0 Object
203 Box <- Constant#202 Value
204 DebugCheckSelfHosted <- Box#203 Value
205 Constant undefined Undefined
206 Constant 0x1 Int32
207 IsCallable <- Lambda#167 Bool
208 Test <- IsCallable#207 -> block 24, block 23 None
1
0
Block 23
209 CallGetIntrinsicValue Value
210 DebugCheckSelfHosted <- CallGetIntrinsicValue#209 Value
211 Constant undefined Undefined
212 Constant 0xc Int32
213 CallGetIntrinsicValue Value
214 DebugCheckSelfHosted <- CallGetIntrinsicValue#213 Value
215 Constant undefined Undefined
216 Constant 0x0 Int32
217 Bail None
218 Unreachable None
Block 24
219 Constant 0x1 Int32
220 Constant 0x1 Int32
221 Compare <- Constant#219, Constant#220 Gt Bool
222 Test <- Compare#221 -> block 25, block 26 None
1
0
Block 25
223 Constant 0x1 Int32
224 GetInlinedArgument <- Constant#223, Lambda#167 Value
225 Goto -> block 27 None
Block 26
226 Constant undefined Undefined
227 Box <- Constant#226 Value
228 Goto -> block 27 None
Block 27
229 Phi <- Box#227, GetInlinedArgument#224 Value
230 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
231 Box <- Constant#230 Value
232 DebugCheckSelfHosted <- Box#231 Value
233 Constant undefined Undefined
234 Constant 0x1 Int32
235 HasShape <- Unbox#179 Bool
236 Test <- HasShape#235 -> block 28, block 29 None
1
0
Block 28
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 30 None
Block 29
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
242 Constant undefined Undefined
243 Constant 0x0 Int32
244 Bail None
245 Unreachable None
Block 30
246 Constant 0x0 Int32
247 Constant 0x0 Int32
248 Goto -> block 31 None
Block 31 (loop header)
249 Phi <- Constant#246, Add#315 Int32
250 Phi <- Constant#247, Phi#310 Int32
251 Constant magic optimized-out MagicOptimizedOut
252 InterruptCheck None
253 Box <- Phi#249 Value
254 Unbox Box#253 to Int32 (fallible) Int32
255 Box <- MinMax#189 Value
256 Unbox Box#255 to Int32 (fallible) Int32
257 Compare <- Unbox#254, Unbox#256 Lt Bool
258 Test <- Compare#257 -> block 32, block 40 None
1
0
Block 32
259 Constant magic optimized-out MagicOptimizedOut
260 Box <- Unbox#179 Value
261 Unbox Box#260 to Object (fallible) Object
262 Box <- Phi#249 Value
263 Unbox Box#262 to Int32 (fallible) Int32
264 GuardShape <- Unbox#261 Object
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 Int32
267 BoundsCheck <- Unbox#263, InitializedLength#266 Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
270 Constant true Bool
271 Test <- Constant#270 -> block 34, block 33 None
1
0
Block 33 (split edge)
272 Constant magic optimized-out MagicOptimizedOut
273 Goto -> block 39 None
Block 34
274 Constant magic optimized-out MagicOptimizedOut
275 Box <- Unbox#179 Value
276 Unbox Box#275 to Object (fallible) Object
277 Box <- Phi#249 Value
278 Unbox Box#277 to Int32 (fallible) Int32
279 GuardShape <- Unbox#276 Object
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Unbox#278, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementsArePacked <- Elements#280 None
285 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
286 Constant 0x3 Int32
287 Box <- Lambda#167 Value
288 Unbox Box#287 to Object (fallible) Object
289 GuardToFunction <- Unbox#288 Object
290 GuardFunctionScript <- GuardToFunction#289 Object
291 Goto -> block 35 None
Block 35
292 Constant undefined Undefined
293 Constant 0x32 Int32
294 Unbox LoadElement#285 to Double (fallible) Double
295 ToDouble <- Constant#293 Double
296 Compare <- Unbox#294, ToDouble#295 Gt Bool
297 Goto -> block 36 None
Block 36
298 Test <- Compare#296 -> block 38, block 37 None
1
0
Block 37 (split edge)
299 Goto -> block 39 None
Block 38
300 Box <- Phi#250 Value
301 Unbox Box#300 to Int32 (fallible) Int32
302 Constant 0x1 Int32
303 Add <- Unbox#301, Constant#302 [int32] Int32
304 Box <- NewArrayObject#238 Value
305 Unbox Box#304 to Object (fallible) Object
306 GuardShape <- Unbox#305 Object
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Unbox#301, LoadElement#285 None
309 Goto -> block 39 None
Block 39 (backedge)
310 Phi <- Add#303, Phi#250, Phi#250 Int32
311 Constant magic optimized-out MagicOptimizedOut
312 Box <- Phi#249 Value
313 Unbox Box#312 to Int32 (fallible) Int32
314 Constant 0x1 Int32
315 Add <- Unbox#313, Constant#314 [int32] Int32
316 Goto -> block 31 None
Block 40
317 Box <- NewArrayObject#238 Value
318 Unbox Box#317 to Object (fallible) Object
319 GuardShape <- Unbox#318 Object
320 Constant object 104289c3e088 (Array) Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
324 Constant 0x0 Int32
325 Constant 0x2 Int32
326 Constant function reduce (self-hosted:205) at 104289c479c0 Object
327 GuardSpecificFunction <- Constant#321, Constant#326 Object
328 Call <- GuardSpecificFunction#327, NewArrayObject#238, Lambda#323, Constant#324 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 Int32
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
112 GuardShape <- Unbox#7 Object
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
385 Constant 2 Double
144 Mul <- Unbox#142, Constant#385 [double] Double
145 Goto -> block 13 None
Block 13
151 GuardShape <- NewArrayDynamicLength#89 Object
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 Int32
159 Add <- Phi#98, Constant#158 [int32] Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
264 GuardShape <- NewArrayDynamicLength#89 Object
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
395 Constant 50 Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 Int32
303 Add <- Phi#250, Constant#302 [int32] Int32
306 GuardShape <- NewArrayObject#238 Object
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 Int32
315 Add <- Phi#249, Constant#314 [int32] Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 Int32
159 Add <- Phi#98, Constant#158 [int32] Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 Int32
303 Add <- Phi#250, Constant#302 [int32] Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 Int32
315 Add <- Phi#249, Constant#314 [int32] Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
401 Beta <- ArrayLength#30 I[-2147483647, 2147483647] Int32
400 Beta <- Phi#98 I[-2147483648, 2147483646] Int32
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 Int32
115 BoundsCheck <- Beta#400, InitializedLength#114 Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Beta#400, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 Int32
159 Add <- Beta#400, Constant#158 [int32] Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
399 Beta <- ArrayLength#186 I[-2147483647, 2147483647] Int32
398 Beta <- Phi#249 I[-2147483648, 2147483646] Int32
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 Int32
267 BoundsCheck <- Beta#398, InitializedLength#266 Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
397 Beta <- Unbox#294 F[?, 50] (U NaN U -Infinity U -0) Double
299 Goto -> block 31 None
Block 30
396 Beta <- Unbox#294 F[50, ?] (U Infinity) Double
302 Constant 0x1 Int32
303 Add <- Phi#250, Constant#302 [int32] Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 Int32
315 Add <- Beta#398, Constant#314 [int32] Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
401 Beta <- ArrayLength#30 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
400 Beta <- Phi#98 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Beta#400, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Beta#400, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Beta#400, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
399 Beta <- ArrayLength#186 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
398 Beta <- Phi#249 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Beta#398, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
397 Beta <- Unbox#294 F[?, 50] (U NaN U -Infinity U -0) F[?, 50] (U NaN U -Infinity U -0): Double
299 Goto -> block 31 None
Block 30
396 Beta <- Unbox#294 F[50, ?] (U Infinity) F[50, ?] (U Infinity): Double
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Beta#398, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
10 Constant function map (self-hosted:163) at 104289c47920 Object
11 Constant function complex4/< (-e:18) at 104289c63d28 Object
12 Lambda <- FunctionEnvironment#6, Constant#11 Object
16 Goto -> block 1 None
Block 1
18 Constant function ToObject at 104289c6c740 Object
19 Box <- Constant#18 Value
20 DebugCheckSelfHosted <- Box#19 Value
24 Constant function ToLength at 104289c6c778 Object
25 Box <- Constant#24 Value
26 DebugCheckSelfHosted <- Box#25 Value
28 GuardShape <- Unbox#7 Object
29 Elements <- GuardShape#28 Elements
30 ArrayLength <- Elements#29 I[0, 2147483647]: Int32
377 Goto -> block 2 None
Block 2
46 Constant function IsCallable at 104289c6c7b0 Object
47 Box <- Constant#46 Value
48 DebugCheckSelfHosted <- Box#47 Value
378 AssertClass <- Lambda#12 None
380 Goto -> block 3 None
Block 3
382 Goto -> block 4 None
Block 4
71 Box <- Constant#2 Value
72 Goto -> block 5 None
Block 5
74 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
75 Box <- Constant#74 Value
76 DebugCheckSelfHosted <- Box#75 Value
79 HasShape <- Unbox#7 Bool
80 Test <- HasShape#79 -> block 6, block 7 None
1
0
Block 6
81 Constant function std_Array at 104289c6c820 Object
82 Box <- Constant#81 Value
83 DebugCheckSelfHosted <- Box#82 Value
86 Unbox DebugCheckSelfHosted#83 to Object (fallible) Object
88 GuardSpecificFunction <- Unbox#86, Constant#81 Object
89 NewArrayDynamicLength <- ArrayLength#30 Object
90 Goto -> block 8 None
Block 7
91 CallGetIntrinsicValue Value
92 DebugCheckSelfHosted <- CallGetIntrinsicValue#91 Value
94 Bail None
95 Unreachable None
Block 8
96 Constant 0x0 I[0, 0]: Int32
112 GuardShape <- Unbox#7 Object
385 Constant 2 I[2, 2]: Double
151 GuardShape <- NewArrayDynamicLength#89 Object
97 Goto -> block 9 None
Block 9 (loop header)
98 Phi <- Constant#96, Add#159 I[0 {}, 2147483647 {[loop] #30-1}]: Int32
99 Constant magic optimized-out MagicOptimizedOut
100 InterruptCheck None
105 Compare <- Phi#98, ArrayLength#30 Lt Bool
106 Test <- Compare#105 -> block 10, block 15 None
1
0
Block 10
113 Elements <- GuardShape#112 Elements
114 InitializedLength <- Elements#113 I[0, 268435453]: Int32
115 BoundsCheck <- Phi#98, InitializedLength#114 I[0, 2147483646]: Int32
116 SpectreMaskIndex <- BoundsCheck#115, InitializedLength#114 I[0, 2147483646]: Int32
117 GuardElementNotHole <- Elements#113, SpectreMaskIndex#116 None
383 Goto -> block 11 None
Block 11
132 GuardElementsArePacked <- Elements#113 None
133 LoadElement <- Elements#113, SpectreMaskIndex#116 Value
384 AssertClass <- Lambda#12 None
139 Goto -> block 12 None
Block 12
142 Unbox LoadElement#133 to Double (fallible) Double
144 Mul <- Unbox#142, Constant#385 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
145 Goto -> block 13 None
Block 13
152 Elements <- GuardShape#151 Elements
153 StoreElementHole <- GuardShape#151, Elements#152, Phi#98, Mul#144 None
154 Goto -> block 14 None
Block 14 (backedge)
158 Constant 0x1 I[1, 1]: Int32
159 Add <- Phi#98, Constant#158 [int32] I[1, 2147483647]: Int32
160 Goto -> block 9 None
Block 15
163 GuardShape <- NewArrayDynamicLength#89 Object
165 Constant function filter (self-hosted:183) at 104289c47970 Object
166 Constant function complex4/< (-e:18) at 104289c63d60 Object
167 Lambda <- FunctionEnvironment#6, Constant#166 Object
171 Goto -> block 16 None
Block 16
175 DebugCheckSelfHosted <- Box#19 Value
182 DebugCheckSelfHosted <- Box#25 Value
184 GuardShape <- NewArrayDynamicLength#89 Object
185 Elements <- GuardShape#184 Elements
186 ArrayLength <- Elements#185 I[0, 2147483647]: Int32
387 Goto -> block 17 None
Block 17
204 DebugCheckSelfHosted <- Box#47 Value
388 AssertClass <- Lambda#167 None
390 Goto -> block 18 None
Block 18
392 Goto -> block 19 None
Block 19
228 Goto -> block 20 None
Block 20
232 DebugCheckSelfHosted <- Box#75 Value
235 HasShape <- NewArrayDynamicLength#89 Bool
236 Test <- HasShape#235 -> block 21, block 22 None
1
0
Block 21
237 Constant shape at 104289c64f00 Shape
238 NewArrayObject <- Constant#237 Object
239 Goto -> block 23 None
Block 22
240 CallGetIntrinsicValue Value
241 DebugCheckSelfHosted <- CallGetIntrinsicValue#240 Value
244 Bail None
245 Unreachable None
Block 23
264 GuardShape <- NewArrayDynamicLength#89 Object
395 Constant 50 I[50, 50]: Double
306 GuardShape <- NewArrayObject#238 Object
248 Goto -> block 24 None
Block 24 (loop header)
249 Phi <- Constant#96, Add#315 I[0 {}, 2147483647 {[loop] #186-1}]: Int32
250 Phi <- Constant#96, Phi#310 Int32
252 InterruptCheck None
257 Compare <- Phi#249, ArrayLength#186 Lt Bool
258 Test <- Compare#257 -> block 25, block 32 None
1
0
Block 25
265 Elements <- GuardShape#264 Elements
266 InitializedLength <- Elements#265 I[0, 268435453]: Int32
267 BoundsCheck <- Phi#249, InitializedLength#266 I[0, 2147483646]: Int32
268 SpectreMaskIndex <- BoundsCheck#267, InitializedLength#266 I[0, 2147483646]: Int32
269 GuardElementNotHole <- Elements#265, SpectreMaskIndex#268 None
393 Goto -> block 26 None
Block 26
284 GuardElementsArePacked <- Elements#265 None
285 LoadElement <- Elements#265, SpectreMaskIndex#268 Value
394 AssertClass <- Lambda#167 None
291 Goto -> block 27 None
Block 27
294 Unbox LoadElement#285 to Double (fallible) Double
296 Compare <- Unbox#294, Constant#395 Gt Bool
297 Goto -> block 28 None
Block 28
298 Test <- Compare#296 -> block 30, block 29 None
1
0
Block 29 (split edge)
299 Goto -> block 31 None
Block 30
302 Constant 0x1 I[1, 1]: Int32
303 Add <- Phi#250, Constant#302 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
307 Elements <- GuardShape#306 Elements
308 StoreElementHole <- GuardShape#306, Elements#307, Phi#250, LoadElement#285 None
309 Goto -> block 31 None
Block 31 (backedge)
310 Phi <- Add#303, Phi#250 Int32
314 Constant 0x1 I[1, 1]: Int32
315 Add <- Phi#249, Constant#314 [int32] I[1, 2147483647]: Int32
316 Goto -> block 24 None
Block 32
319 GuardShape <- NewArrayObject#238 Object
321 Constant function reduce (self-hosted:205) at 104289c479c0 Object
322 Constant function complex4/< (-e:18) at 104289c63d98 Object
323 Lambda <- FunctionEnvironment#6, Constant#322 Object
328 Call <- Constant#321, NewArrayObject#238, Lambda#323, Constant#96 Value
329 Return <- Call#328 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- BoundsCheck#59, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- BoundsCheck#59, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- BoundsCheck#59, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- BoundsCheck#113, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
402 DebugEnterGCUnsafeRegion None
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
403 DebugLeaveGCUnsafeRegion None
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox DebugCheckSelfHosted#38 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
408 DebugEnterGCUnsafeRegion None
406 DebugEnterGCUnsafeRegion None
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
409 DebugLeaveGCUnsafeRegion None
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
407 DebugLeaveGCUnsafeRegion None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
405 KeepAliveObject <- GuardShape#48 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
404 KeepAliveObject <- GuardShape#48 None
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
410 DebugEnterGCUnsafeRegion None
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
411 DebugLeaveGCUnsafeRegion None
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
416 DebugEnterGCUnsafeRegion None
414 DebugEnterGCUnsafeRegion None
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
417 DebugLeaveGCUnsafeRegion None
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
415 DebugLeaveGCUnsafeRegion None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
413 KeepAliveObject <- GuardShape#102 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
412 KeepAliveObject <- GuardShape#102 None
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
402 DebugEnterGCUnsafeRegion None
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
403 DebugLeaveGCUnsafeRegion None
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox Box#37 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
408 DebugEnterGCUnsafeRegion None
406 DebugEnterGCUnsafeRegion None
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
409 DebugLeaveGCUnsafeRegion None
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
407 DebugLeaveGCUnsafeRegion None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
405 KeepAliveObject <- GuardShape#48 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
404 KeepAliveObject <- GuardShape#48 None
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
410 DebugEnterGCUnsafeRegion None
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
411 DebugLeaveGCUnsafeRegion None
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
416 DebugEnterGCUnsafeRegion None
414 DebugEnterGCUnsafeRegion None
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
417 DebugLeaveGCUnsafeRegion None
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
415 DebugLeaveGCUnsafeRegion None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
413 KeepAliveObject <- GuardShape#102 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
412 KeepAliveObject <- GuardShape#102 None
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Callee Object
6 FunctionEnvironment <- Callee#5 Object
7 Unbox Parameter#1 to Object (fallible) Object
8 GuardShape <- Unbox#7 Object
9 Constant function map (self-hosted:163) at 104289c47920 Object
10 Constant function complex4/< (-e:18) at 104289c63d28 Object
11 Lambda <- FunctionEnvironment#6, Constant#10 Object
12 Goto -> block 1 None
Block 1
13 Constant function ToObject at 104289c6c740 Object
14 Constant function ToLength at 104289c6c778 Object
15 Box <- Constant#13 Value
16 DebugCheckSelfHosted <- Box#15 Value
17 Box <- Constant#14 Value
18 DebugCheckSelfHosted <- Box#17 Value
19 GuardShape <- Unbox#7 Object
20 Elements <- GuardShape#19 Elements
402 DebugEnterGCUnsafeRegion None
21 ArrayLength <- Elements#20 I[0, 2147483647]: Int32
403 DebugLeaveGCUnsafeRegion None
22 Goto -> block 2 None
Block 2
23 Constant function IsCallable at 104289c6c7b0 Object
24 Box <- Constant#23 Value
25 DebugCheckSelfHosted <- Box#24 Value
26 AssertClass <- Lambda#11 None
27 Goto -> block 3 None
Block 3
28 Goto -> block 4 None
Block 4
29 Box <- Constant#2 Value
30 Goto -> block 5 None
Block 5
31 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
32 Box <- Constant#31 Value
33 DebugCheckSelfHosted <- Box#32 Value
34 HasShape <- Unbox#7 Bool
35 Test <- HasShape#34 -> block 6, block 7 None
1
0
Block 6
36 Constant function std_Array at 104289c6c820 Object
37 Box <- Constant#36 Value
38 DebugCheckSelfHosted <- Box#37 Value
39 Unbox Box#37 to Object (fallible) Object
40 GuardSpecificFunction <- Unbox#39, Constant#36 Object
41 NewArrayDynamicLength <- ArrayLength#21 Object
42 Goto -> block 8 None
Block 7
43 CallGetIntrinsicValue Value
44 DebugCheckSelfHosted <- CallGetIntrinsicValue#43 Value
45 Bail None
46 Unreachable None
Block 8
47 Constant 0x0 I[0, 0]: Int32
48 GuardShape <- Unbox#7 Object
49 Constant 2 I[2, 2]: Double
50 GuardShape <- NewArrayDynamicLength#41 Object
51 Goto -> block 9 None
Block 9 (loop header)
52 Phi <- Constant#47, Add#74 I[0 {}, 2147483647 {[loop] #21-1}]: Int32
53 Constant magic optimized-out MagicOptimizedOut
54 InterruptCheck None
55 Compare <- Phi#52, ArrayLength#21 Lt Bool
56 Test <- Compare#55 -> block 10, block 15 None
1
0
Block 10
57 Elements <- GuardShape#48 Elements
408 DebugEnterGCUnsafeRegion None
406 DebugEnterGCUnsafeRegion None
58 InitializedLength <- Elements#57 I[0, 268435453]: Int32
409 DebugLeaveGCUnsafeRegion None
59 BoundsCheck <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
60 SpectreMaskIndex <- Phi#52, InitializedLength#58 I[0, 2147483646]: Int32
61 GuardElementNotHole <- Elements#57, SpectreMaskIndex#60 None
407 DebugLeaveGCUnsafeRegion None
62 Goto -> block 11 None
Block 11
63 GuardElementsArePacked <- Elements#57 None
405 KeepAliveObject <- GuardShape#48 None
64 LoadElement <- Elements#57, SpectreMaskIndex#60 Value
404 KeepAliveObject <- GuardShape#48 None
65 AssertClass <- Lambda#11 None
66 Goto -> block 12 None
Block 12
67 Unbox LoadElement#64 to Double (fallible) Double
68 Mul <- Unbox#67, Constant#49 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
69 Goto -> block 13 None
Block 13
70 Elements <- GuardShape#50 Elements
71 StoreElementHole <- GuardShape#50, Elements#70, Phi#52, Mul#68 None
72 Goto -> block 14 None
Block 14 (backedge)
73 Constant 0x1 I[1, 1]: Int32
74 Add <- Phi#52, Constant#73 [int32] I[1, 2147483647]: Int32
75 Goto -> block 9 None
Block 15
76 Constant function complex4/< (-e:18) at 104289c63d60 Object
77 GuardShape <- NewArrayDynamicLength#41 Object
78 Constant function filter (self-hosted:183) at 104289c47970 Object
79 Lambda <- FunctionEnvironment#6, Constant#76 Object
80 Goto -> block 16 None
Block 16
81 DebugCheckSelfHosted <- Box#15 Value
82 DebugCheckSelfHosted <- Box#17 Value
83 GuardShape <- NewArrayDynamicLength#41 Object
84 Elements <- GuardShape#83 Elements
410 DebugEnterGCUnsafeRegion None
85 ArrayLength <- Elements#84 I[0, 2147483647]: Int32
411 DebugLeaveGCUnsafeRegion None
86 Goto -> block 17 None
Block 17
87 DebugCheckSelfHosted <- Box#24 Value
88 AssertClass <- Lambda#79 None
89 Goto -> block 18 None
Block 18
90 Goto -> block 19 None
Block 19
91 Goto -> block 20 None
Block 20
92 DebugCheckSelfHosted <- Box#32 Value
93 HasShape <- NewArrayDynamicLength#41 Bool
94 Test <- HasShape#93 -> block 21, block 22 None
1
0
Block 21
95 Constant shape at 104289c64f00 Shape
96 NewArrayObject <- Constant#95 Object
97 Goto -> block 23 None
Block 22
98 CallGetIntrinsicValue Value
99 DebugCheckSelfHosted <- CallGetIntrinsicValue#98 Value
100 Bail None
101 Unreachable None
Block 23
102 GuardShape <- NewArrayDynamicLength#41 Object
103 Constant 50 I[50, 50]: Double
104 GuardShape <- NewArrayObject#96 Object
105 Goto -> block 24 None
Block 24 (loop header)
106 Phi <- Constant#47, Add#133 I[0 {}, 2147483647 {[loop] #85-1}]: Int32
107 Phi <- Constant#47, Phi#131 Int32
108 InterruptCheck None
109 Compare <- Phi#106, ArrayLength#85 Lt Bool
110 Test <- Compare#109 -> block 25, block 32 None
1
0
Block 25
111 Elements <- GuardShape#102 Elements
416 DebugEnterGCUnsafeRegion None
414 DebugEnterGCUnsafeRegion None
112 InitializedLength <- Elements#111 I[0, 268435453]: Int32
417 DebugLeaveGCUnsafeRegion None
113 BoundsCheck <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
114 SpectreMaskIndex <- Phi#106, InitializedLength#112 I[0, 2147483646]: Int32
115 GuardElementNotHole <- Elements#111, SpectreMaskIndex#114 None
415 DebugLeaveGCUnsafeRegion None
116 Goto -> block 26 None
Block 26
117 GuardElementsArePacked <- Elements#111 None
413 KeepAliveObject <- GuardShape#102 None
118 LoadElement <- Elements#111, SpectreMaskIndex#114 Value
412 KeepAliveObject <- GuardShape#102 None
119 AssertClass <- Lambda#79 None
120 Goto -> block 27 None
Block 27
121 Unbox LoadElement#118 to Double (fallible) Double
122 Compare <- Unbox#121, Constant#103 Gt Bool
123 Goto -> block 28 None
Block 28
124 Test <- Compare#122 -> block 30, block 29 None
1
0
Block 29 (split edge)
125 Goto -> block 31 None
Block 30
126 Constant 0x1 I[1, 1]: Int32
127 Add <- Phi#107, Constant#126 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
128 Elements <- GuardShape#104 Elements
129 StoreElementHole <- GuardShape#104, Elements#128, Phi#107, LoadElement#118 None
130 Goto -> block 31 None
Block 31 (backedge)
131 Phi <- Add#127, Phi#107 Int32
132 Constant 0x1 I[1, 1]: Int32
133 Add <- Phi#106, Constant#132 [int32] I[1, 2147483647]: Int32
134 Goto -> block 24 None
Block 32
135 Constant function complex4/< (-e:18) at 104289c63d98 Object
136 GuardShape <- NewArrayObject#96 Object
137 Constant function reduce (self-hosted:205) at 104289c479c0 Object
138 Lambda <- FunctionEnvironment#6, Constant#135 Object
139 Call <- Constant#137, NewArrayObject#96, Lambda#138, Constant#47 Value
140 Return <- Call#139 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 67 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
214 UnreachableResult Value
215 Goto -> block 8 None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
231 UnreachableResult Value
232 Bail None
233 UnreachableResult Value
234 Goto -> block 10 None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
264 UnreachableResult Value
265 Goto -> block 16 None
Block 16
266 Phi <- UnreachableResult#264, NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 23 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 19, block 22 None
1
0
Block 19
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 20 None
Block 20
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 21 None
Block 21
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 22 None
Block 22 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 23
327 Goto -> block 24 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
364 UnreachableResult Value
365 Goto -> block 27 None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
381 UnreachableResult Value
382 Bail None
383 UnreachableResult Value
384 Goto -> block 29 None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
409 UnreachableResult Value
410 Goto -> block 35 None
Block 35
411 Phi <- UnreachableResult#409, NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 43 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 38, block 42 None
1
0
Block 38
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 39 None
Block 39
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 40 None
Block 40
462 Test <- Compare#459 -> block 41, block 42 None
1
0
Block 41
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 42 None
Block 42 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 43
478 Goto -> block 44 None
Block 44
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 45 None
Block 45
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 46 None
Block 46
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 47 None
Block 47
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 48, block 49 None
1
0
Block 48
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
568 UnreachableResult Value
569 Goto -> block 49 None
Block 49
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 51, block 50 None
1
0
Block 50
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
585 UnreachableResult Value
586 Bail None
587 UnreachableResult Value
588 Goto -> block 51 None
Block 51
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 52, block 53 None
1
0
Block 52
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 54 None
Block 53
596 Constant undefined Undefined
597 Goto -> block 54 None
Block 54
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 55, block 56 None
1
0
Block 55
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 57 None
Block 56
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
618 UnreachableResult Value
619 Goto -> block 57 None
Block 57
620 Phi <- UnreachableResult#618, NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 58 None
Block 58 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 59, block 64 None
1
0
Block 59
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 60, block 63 None
1
0
Block 60
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 61 None
Block 61
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 62 None
Block 62
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 63 None
Block 63 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 58 None
Block 64
682 Goto -> block 65 None
Block 65
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 66 None
Block 66 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 67
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 67 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
266 Phi <- NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 23 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 19, block 22 None
1
0
Block 19
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 20 None
Block 20
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 21 None
Block 21
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 22 None
Block 22 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 23
327 Goto -> block 24 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
411 Phi <- NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 43 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 38, block 42 None
1
0
Block 38
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 39 None
Block 39
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 40 None
Block 40
462 Test <- Compare#459 -> block 41, block 42 None
1
0
Block 41
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 42 None
Block 42 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 43
478 Goto -> block 44 None
Block 44
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 45 None
Block 45
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 46 None
Block 46
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 47 None
Block 47
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 48, block 49 None
1
0
Block 48
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 49
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 51, block 50 None
1
0
Block 50
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 51
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 52, block 53 None
1
0
Block 52
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 54 None
Block 53
596 Constant undefined Undefined
597 Goto -> block 54 None
Block 54
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 55, block 56 None
1
0
Block 55
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 57 None
Block 56
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 57
620 Phi <- NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 58 None
Block 58 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 59, block 64 None
1
0
Block 59
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 60, block 63 None
1
0
Block 60
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 61 None
Block 61
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 62 None
Block 62
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 63 None
Block 63 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 58 None
Block 64
682 Goto -> block 65 None
Block 65
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 66 None
Block 66 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 67
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 67 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
266 Phi <- NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 19, block 22 None
1
0
Block 19
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 20 None
Block 20
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 21 None
Block 21
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 22 None
Block 22 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
411 Phi <- NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 44 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 38, block 42 None
1
0
Block 38
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 39 None
Block 39
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 40 None
Block 40
462 Test <- Compare#459 -> block 41, block 42 None
1
0
Block 41
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 42 None
Block 42 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 44
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 45 None
Block 45
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 46 None
Block 46
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 47 None
Block 47
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 48, block 49 None
1
0
Block 48
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 49
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 51, block 50 None
1
0
Block 50
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 51
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 52, block 53 None
1
0
Block 52
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 54 None
Block 53
596 Constant undefined Undefined
597 Goto -> block 54 None
Block 54
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 55, block 56 None
1
0
Block 55
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 57 None
Block 56
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 57
620 Phi <- NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 58 None
Block 58 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 59, block 65 None
1
0
Block 59
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 60, block 63 None
1
0
Block 60
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 61 None
Block 61
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 62 None
Block 62
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 63 None
Block 63 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 58 None
Block 65
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 66 None
Block 66 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 67
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 67 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
266 Phi <- NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 19, block 22 None
1
0
Block 19
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 20 None
Block 20
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 21 None
Block 21
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 22 None
Block 22 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
411 Phi <- NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 44 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 38, block 42 None
1
0
Block 38
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 39 None
Block 39
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 40 None
Block 40
462 Test <- Compare#459 -> block 41, block 42 None
1
0
Block 41
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 42 None
Block 42 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 44
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 45 None
Block 45
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 46 None
Block 46
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 47 None
Block 47
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 48, block 49 None
1
0
Block 48
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 49
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 51, block 50 None
1
0
Block 50
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 51
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 52, block 53 None
1
0
Block 52
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 54 None
Block 53
596 Constant undefined Undefined
597 Goto -> block 54 None
Block 54
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 55, block 56 None
1
0
Block 55
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 57 None
Block 56
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 57
620 Phi <- NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 58 None
Block 58 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 59, block 65 None
1
0
Block 59
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 60, block 63 None
1
0
Block 60
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 61 None
Block 61
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 62 None
Block 62
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 63 None
Block 63 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 58 None
Block 65
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 66 None
Block 66 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 67
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 67 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
266 Phi <- NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 19, block 22 None
1
0
Block 19
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 20 None
Block 20
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 21 None
Block 21
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 22 None
Block 22 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
411 Phi <- NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 44 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 38, block 42 None
1
0
Block 38
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 39 None
Block 39
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 40 None
Block 40
462 Test <- Compare#459 -> block 41, block 42 None
1
0
Block 41
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 42 None
Block 42 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 44
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 45 None
Block 45
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 46 None
Block 46
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 47 None
Block 47
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 48, block 49 None
1
0
Block 48
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 49
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 51, block 50 None
1
0
Block 50
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 51
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 52, block 53 None
1
0
Block 52
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 54 None
Block 53
596 Constant undefined Undefined
597 Goto -> block 54 None
Block 54
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 55, block 56 None
1
0
Block 55
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 57 None
Block 56
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 57
620 Phi <- NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 58 None
Block 58 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 59, block 65 None
1
0
Block 59
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 60, block 63 None
1
0
Block 60
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 61 None
Block 61
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 62 None
Block 62
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 63 None
Block 63 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 58 None
Block 65
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 66 None
Block 66 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 67
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 67 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
266 Phi <- NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 19, block 68 None
1
0
Block 68 (split edge)
719 Goto -> block 22 None
Block 19
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 20 None
Block 20
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 21 None
Block 21
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 22 None
Block 22 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
411 Phi <- NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 44 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 38, block 69 None
1
0
Block 69 (split edge)
720 Goto -> block 42 None
Block 38
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 39 None
Block 39
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 40 None
Block 40
462 Test <- Compare#459 -> block 41, block 70 None
1
0
Block 70 (split edge)
721 Goto -> block 42 None
Block 41
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 42 None
Block 42 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 44
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 45 None
Block 45
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 46 None
Block 46
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 47 None
Block 47
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 48, block 49 None
1
0
Block 48
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 49
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 51, block 50 None
1
0
Block 50
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 51
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 52, block 53 None
1
0
Block 52
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 54 None
Block 53
596 Constant undefined Undefined
597 Goto -> block 54 None
Block 54
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 55, block 56 None
1
0
Block 55
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 57 None
Block 56
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 57
620 Phi <- NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 58 None
Block 58 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 59, block 65 None
1
0
Block 59
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 60, block 71 None
1
0
Block 71 (split edge)
722 Goto -> block 63 None
Block 60
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 61 None
Block 61
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 62 None
Block 62
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 63 None
Block 63 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 58 None
Block 65
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 66 None
Block 66 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 67
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
84 Phi <- Constant#2, Constant#2 Value
85 Phi <- Constant#2, Constant#2 Value
86 Phi <- Parameter#0, Parameter#0 Value
87 Phi <- Parameter#1, Parameter#1 Value
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
91 Phi <- NewArrayObject#31, NewArrayObject#31 Value
92 Phi <- Call#59, Call#489 Value
93 Phi <- NewPlainObject#61, NewPlainObject#61 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 68 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
266 Phi <- NewArrayDynamicLength#258 Value
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
268 Phi <- Constant#189, Constant#189 Value
269 Phi <- Constant#189, Constant#189 Value
270 Phi <- NewArrayObject#153, NewArrayObject#153 Value
271 Phi <- Lambda#184, Lambda#184 Value
272 Phi <- NewArrayObject#153, NewArrayObject#153 Value
273 Phi <- MinMax#202, MinMax#202 Value
274 Phi <- Phi#244, Phi#244 Value
275 Phi <- Phi#266, Phi#266 Value
276 Phi <- Constant#267, Add#324 Value
277 Phi <- Constant#189, Phi#321 Value
278 Phi <- NewArrayObject#153, NewArrayObject#153 Value
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox Phi#273 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
285 Unbox Phi#272 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 20, block 19 None
1
0
Block 19 (split edge)
719 Goto -> block 23 None
Block 20
295 Unbox Phi#272 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Phi#271 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 21 None
Block 21
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 22 None
Block 22
315 Unbox Phi#275 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 23 None
Block 23 (backedge)
321 Phi <- Mul#312, Phi#277 Value
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox Phi#275 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox Phi#275 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
411 Phi <- NewArrayObject#402 Value
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
414 Phi <- Constant#338, Constant#338 Value
415 Phi <- Constant#338, Constant#338 Value
416 Phi <- Phi#275, Phi#275 Value
417 Phi <- Lambda#333, Lambda#333 Value
418 Phi <- Unbox#343, Unbox#343 Value
419 Phi <- MinMax#352, MinMax#352 Value
420 Phi <- Phi#394, Phi#394 Value
421 Phi <- Phi#411, Phi#411 Value
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
424 Phi <- Constant#338, Phi#472 Value
425 Phi <- Phi#275, Phi#275 Value
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox Phi#419 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 45 None
1
0
Block 37
432 Unbox Phi#418 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 39, block 38 None
1
0
Block 38 (split edge)
720 Goto -> block 44 None
Block 39
442 Unbox Phi#418 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Phi#417 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 40 None
Block 40
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 41 None
Block 41
462 Test <- Compare#459 -> block 43, block 42 None
1
0
Block 42 (split edge)
721 Goto -> block 44 None
Block 43
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox Phi#421 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 44 None
Block 44 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
472 Phi <- LoadElement#450, Phi#424, LoadElement#450 Value
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 45
479 Unbox Phi#421 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, Phi#421, Lambda#484, Constant#485 Value
491 Goto -> block 46 None
Block 46
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 47 None
Block 47
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 48 None
Block 48
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 49, block 50 None
1
0
Block 49
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 50
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 52, block 51 None
1
0
Block 51
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 52
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 53, block 54 None
1
0
Block 53
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 55 None
Block 54
596 Constant undefined Undefined
597 Goto -> block 55 None
Block 55
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 56, block 57 None
1
0
Block 56
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 58 None
Block 57
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 58
620 Phi <- NewArrayDynamicLength#612 Value
621 Constant 0x0 Int32
633 Goto -> block 59 None
Block 59 (loop header)
622 Phi <- Constant#543, Constant#543 Value
623 Phi <- Constant#543, Constant#543 Value
624 Phi <- ObjectKeys#533, ObjectKeys#533 Value
625 Phi <- Lambda#538, Lambda#538 Value
626 Phi <- ObjectKeys#533, ObjectKeys#533 Value
627 Phi <- MinMax#556, MinMax#556 Value
628 Phi <- Phi#598, Phi#598 Value
629 Phi <- Phi#620, Phi#620 Value
630 Phi <- Constant#621, Add#679 Value
631 Phi <- Constant#543, Phi#676 Value
632 Phi <- ObjectKeys#533, ObjectKeys#533 Value
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox Phi#627 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
639 Unbox Phi#626 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 62, block 61 None
1
0
Block 61 (split edge)
722 Goto -> block 65 None
Block 62
649 Unbox Phi#626 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Phi#625 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 63 None
Block 63
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 64 None
Block 64
670 Unbox Phi#629 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 65 None
Block 65 (backedge)
676 Phi <- MegamorphicLoadSlotByValue#667, Phi#631 Value
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 59 None
Block 66
683 Unbox Phi#629 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, Phi#629, Lambda#688, Constant#689 Value
695 Goto -> block 67 None
Block 67 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 68
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
92 Phi <- Call#59, Call#489 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 68 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
276 Phi <- Constant#267, Add#324 Value
734 Constant magic optimized-out MagicOptimizedOut
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox MinMax#202 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
739 Constant magic optimized-out MagicOptimizedOut
285 Unbox NewArrayObject#153 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 20, block 19 None
1
0
Block 19 (split edge)
736 Constant magic optimized-out MagicOptimizedOut
719 Goto -> block 23 None
Block 20
738 Constant magic optimized-out MagicOptimizedOut
295 Unbox NewArrayObject#153 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Lambda#184 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 21 None
Block 21
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 22 None
Block 22
737 Constant magic optimized-out MagicOptimizedOut
315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 23 None
Block 23 (backedge)
735 Constant magic optimized-out MagicOptimizedOut
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
729 Constant magic optimized-out MagicOptimizedOut
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox MinMax#352 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 45 None
1
0
Block 37
733 Constant magic optimized-out MagicOptimizedOut
432 Unbox Unbox#343 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 39, block 38 None
1
0
Block 38 (split edge)
731 Constant magic optimized-out MagicOptimizedOut
720 Goto -> block 44 None
Block 39
732 Constant magic optimized-out MagicOptimizedOut
442 Unbox Unbox#343 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Lambda#333 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 40 None
Block 40
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 41 None
Block 41
462 Test <- Compare#459 -> block 43, block 42 None
1
0
Block 42 (split edge)
721 Goto -> block 44 None
Block 43
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox NewArrayObject#402 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 44 None
Block 44 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
730 Constant magic optimized-out MagicOptimizedOut
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 45
479 Unbox NewArrayObject#402 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value
491 Goto -> block 46 None
Block 46
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 47 None
Block 47
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 48 None
Block 48
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 49, block 50 None
1
0
Block 49
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 50
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 52, block 51 None
1
0
Block 51
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 52
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 53, block 54 None
1
0
Block 53
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 55 None
Block 54
596 Constant undefined Undefined
597 Goto -> block 55 None
Block 55
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 56, block 57 None
1
0
Block 56
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 58 None
Block 57
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 58
621 Constant 0x0 Int32
633 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#621, Add#679 Value
723 Constant magic optimized-out MagicOptimizedOut
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox MinMax#556 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
728 Constant magic optimized-out MagicOptimizedOut
639 Unbox ObjectKeys#533 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 62, block 61 None
1
0
Block 61 (split edge)
725 Constant magic optimized-out MagicOptimizedOut
722 Goto -> block 65 None
Block 62
727 Constant magic optimized-out MagicOptimizedOut
649 Unbox ObjectKeys#533 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Lambda#538 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 63 None
Block 63
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 64 None
Block 64
726 Constant magic optimized-out MagicOptimizedOut
670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 65 None
Block 65 (backedge)
724 Constant magic optimized-out MagicOptimizedOut
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 59 None
Block 66
683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value
695 Goto -> block 67 None
Block 67 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 68
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
92 Phi <- Call#59, Call#489 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 68 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
276 Phi <- Constant#267, Add#324 Value
734 Constant magic optimized-out MagicOptimizedOut
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox MinMax#202 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
739 Constant magic optimized-out MagicOptimizedOut
285 Unbox NewArrayObject#153 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 20, block 19 None
1
0
Block 19 (split edge)
736 Constant magic optimized-out MagicOptimizedOut
719 Goto -> block 23 None
Block 20
738 Constant magic optimized-out MagicOptimizedOut
295 Unbox NewArrayObject#153 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Lambda#184 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 21 None
Block 21
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 22 None
Block 22
737 Constant magic optimized-out MagicOptimizedOut
315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 23 None
Block 23 (backedge)
735 Constant magic optimized-out MagicOptimizedOut
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
729 Constant magic optimized-out MagicOptimizedOut
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox MinMax#352 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 45 None
1
0
Block 37
733 Constant magic optimized-out MagicOptimizedOut
432 Unbox Unbox#343 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 39, block 38 None
1
0
Block 38 (split edge)
731 Constant magic optimized-out MagicOptimizedOut
720 Goto -> block 44 None
Block 39
732 Constant magic optimized-out MagicOptimizedOut
442 Unbox Unbox#343 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Lambda#333 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 40 None
Block 40
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 41 None
Block 41
462 Test <- Compare#459 -> block 43, block 42 None
1
0
Block 42 (split edge)
721 Goto -> block 44 None
Block 43
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox NewArrayObject#402 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 44 None
Block 44 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
730 Constant magic optimized-out MagicOptimizedOut
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 45
479 Unbox NewArrayObject#402 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value
491 Goto -> block 46 None
Block 46
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 47 None
Block 47
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 48 None
Block 48
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 49, block 50 None
1
0
Block 49
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 50
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 52, block 51 None
1
0
Block 51
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 52
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 53, block 54 None
1
0
Block 53
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 55 None
Block 54
596 Constant undefined Undefined
597 Goto -> block 55 None
Block 55
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 56, block 57 None
1
0
Block 56
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 58 None
Block 57
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 58
621 Constant 0x0 Int32
633 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#621, Add#679 Value
723 Constant magic optimized-out MagicOptimizedOut
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox MinMax#556 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
728 Constant magic optimized-out MagicOptimizedOut
639 Unbox ObjectKeys#533 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 62, block 61 None
1
0
Block 61 (split edge)
725 Constant magic optimized-out MagicOptimizedOut
722 Goto -> block 65 None
Block 62
727 Constant magic optimized-out MagicOptimizedOut
649 Unbox ObjectKeys#533 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Lambda#538 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 63 None
Block 63
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 64 None
Block 64
726 Constant magic optimized-out MagicOptimizedOut
670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 65 None
Block 65 (backedge)
724 Constant magic optimized-out MagicOptimizedOut
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 59 None
Block 66
683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value
695 Goto -> block 67 None
Block 67 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 68
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
92 Phi <- Call#59, Call#489 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 68 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
276 Phi <- Constant#267, Add#324 Value
734 Constant magic optimized-out MagicOptimizedOut
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox MinMax#202 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
739 Constant magic optimized-out MagicOptimizedOut
285 Unbox NewArrayObject#153 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 20, block 19 None
1
0
Block 19 (split edge)
736 Constant magic optimized-out MagicOptimizedOut
719 Goto -> block 23 None
Block 20
738 Constant magic optimized-out MagicOptimizedOut
295 Unbox NewArrayObject#153 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Lambda#184 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 21 None
Block 21
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 22 None
Block 22
737 Constant magic optimized-out MagicOptimizedOut
315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 23 None
Block 23 (backedge)
735 Constant magic optimized-out MagicOptimizedOut
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
729 Constant magic optimized-out MagicOptimizedOut
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox MinMax#352 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 45 None
1
0
Block 37
733 Constant magic optimized-out MagicOptimizedOut
432 Unbox Unbox#343 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 39, block 38 None
1
0
Block 38 (split edge)
731 Constant magic optimized-out MagicOptimizedOut
720 Goto -> block 44 None
Block 39
732 Constant magic optimized-out MagicOptimizedOut
442 Unbox Unbox#343 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Lambda#333 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 40 None
Block 40
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 41 None
Block 41
462 Test <- Compare#459 -> block 43, block 42 None
1
0
Block 42 (split edge)
721 Goto -> block 44 None
Block 43
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox NewArrayObject#402 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 44 None
Block 44 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
730 Constant magic optimized-out MagicOptimizedOut
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 45
479 Unbox NewArrayObject#402 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value
491 Goto -> block 46 None
Block 46
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 47 None
Block 47
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 48 None
Block 48
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 49, block 50 None
1
0
Block 49
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 50
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 52, block 51 None
1
0
Block 51
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 52
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 53, block 54 None
1
0
Block 53
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 55 None
Block 54
596 Constant undefined Undefined
597 Goto -> block 55 None
Block 55
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 56, block 57 None
1
0
Block 56
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 58 None
Block 57
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 58
621 Constant 0x0 Int32
633 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#621, Add#679 Value
723 Constant magic optimized-out MagicOptimizedOut
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox MinMax#556 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
728 Constant magic optimized-out MagicOptimizedOut
639 Unbox ObjectKeys#533 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 62, block 61 None
1
0
Block 61 (split edge)
725 Constant magic optimized-out MagicOptimizedOut
722 Goto -> block 65 None
Block 62
727 Constant magic optimized-out MagicOptimizedOut
649 Unbox ObjectKeys#533 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Lambda#538 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 63 None
Block 63
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 64 None
Block 64
726 Constant magic optimized-out MagicOptimizedOut
670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 65 None
Block 65 (backedge)
724 Constant magic optimized-out MagicOptimizedOut
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 59 None
Block 66
683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value
695 Goto -> block 67 None
Block 67 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 68
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, BitOr#137 Value
90 Phi <- Call#29, Call#147 Value
92 Phi <- Call#59, Call#489 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Value
97 InterruptCheck None
98 Constant 0xa Int32
99 Unbox Phi#95 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 68 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
107 Unbox Phi#95 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
118 Unbox Phi#95 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
191 DebugCheckSelfHosted <- Constant#190 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
195 DebugCheckSelfHosted <- Constant#194 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
217 DebugCheckSelfHosted <- Constant#216 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
243 Goto -> block 13 None
Block 13
244 Phi <- Constant#242, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
246 DebugCheckSelfHosted <- Constant#245 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
252 DebugCheckSelfHosted <- Constant#251 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
276 Phi <- Constant#267, Add#324 Value
734 Constant magic optimized-out MagicOptimizedOut
280 InterruptCheck None
281 Unbox Phi#276 to Int32 (fallible) Int32
282 Unbox MinMax#202 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
739 Constant magic optimized-out MagicOptimizedOut
285 Unbox NewArrayObject#153 to Object (fallible) Object
286 Unbox Phi#276 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 20, block 19 None
1
0
Block 19 (split edge)
736 Constant magic optimized-out MagicOptimizedOut
719 Goto -> block 23 None
Block 20
738 Constant magic optimized-out MagicOptimizedOut
295 Unbox NewArrayObject#153 to Object (fallible) Object
296 Unbox Phi#276 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
305 Unbox Lambda#184 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 21 None
Block 21
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
312 Mul <- Unbox#311, Constant#310 [double] Double
314 Goto -> block 22 None
Block 22
737 Constant magic optimized-out MagicOptimizedOut
315 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
316 Unbox Phi#276 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 23 None
Block 23 (backedge)
735 Constant magic optimized-out MagicOptimizedOut
322 Unbox Phi#276 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
328 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
340 DebugCheckSelfHosted <- Constant#339 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
343 Unbox NewArrayDynamicLength#258 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
345 DebugCheckSelfHosted <- Constant#344 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
367 DebugCheckSelfHosted <- Constant#366 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
393 Goto -> block 32 None
Block 32
394 Phi <- Constant#392, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
396 DebugCheckSelfHosted <- Constant#395 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
422 Phi <- Constant#412, Add#475 Value
423 Phi <- Constant#413, Phi#471 Value
729 Constant magic optimized-out MagicOptimizedOut
427 InterruptCheck None
428 Unbox Phi#422 to Int32 (fallible) Int32
429 Unbox MinMax#352 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 45 None
1
0
Block 37
733 Constant magic optimized-out MagicOptimizedOut
432 Unbox Unbox#343 to Object (fallible) Object
433 Unbox Phi#422 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 39, block 38 None
1
0
Block 38 (split edge)
731 Constant magic optimized-out MagicOptimizedOut
720 Goto -> block 44 None
Block 39
732 Constant magic optimized-out MagicOptimizedOut
442 Unbox Unbox#343 to Object (fallible) Object
443 Unbox Phi#422 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
452 Unbox Lambda#333 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 40 None
Block 40
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
459 Compare <- Unbox#458, Constant#457 Gt Bool
461 Goto -> block 41 None
Block 41
462 Test <- Compare#459 -> block 43, block 42 None
1
0
Block 42 (split edge)
721 Goto -> block 44 None
Block 43
463 Unbox Phi#423 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
466 Unbox NewArrayObject#402 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 44 None
Block 44 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Value
730 Constant magic optimized-out MagicOptimizedOut
473 Unbox Phi#422 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 45
479 Unbox NewArrayObject#402 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value
491 Goto -> block 46 None
Block 46
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 47 None
Block 47
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, FunctionEnvironment#512 None
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, GuardSpecificFunction#509 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 48 None
Block 48
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
545 DebugCheckSelfHosted <- Constant#544 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
549 DebugCheckSelfHosted <- Constant#548 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 49, block 50 None
1
0
Block 49
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 50
570 Constant function IsCallable at 104289c6c7b0 Object
571 DebugCheckSelfHosted <- Constant#570 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 52, block 51 None
1
0
Block 51
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 52
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 53, block 54 None
1
0
Block 53
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 55 None
Block 54
596 Constant undefined Undefined
597 Goto -> block 55 None
Block 55
598 Phi <- Constant#596, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
600 DebugCheckSelfHosted <- Constant#599 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 56, block 57 None
1
0
Block 56
605 Constant function std_Array at 104289c6c820 Object
606 DebugCheckSelfHosted <- Constant#605 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 58 None
Block 57
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 58
621 Constant 0x0 Int32
633 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#621, Add#679 Value
723 Constant magic optimized-out MagicOptimizedOut
634 InterruptCheck None
635 Unbox Phi#630 to Int32 (fallible) Int32
636 Unbox MinMax#556 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
728 Constant magic optimized-out MagicOptimizedOut
639 Unbox ObjectKeys#533 to Object (fallible) Object
640 Unbox Phi#630 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 62, block 61 None
1
0
Block 61 (split edge)
725 Constant magic optimized-out MagicOptimizedOut
722 Goto -> block 65 None
Block 62
727 Constant magic optimized-out MagicOptimizedOut
649 Unbox ObjectKeys#533 to Object (fallible) Object
650 Unbox Phi#630 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
659 Unbox Lambda#538 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 63 None
Block 63
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 64 None
Block 64
726 Constant magic optimized-out MagicOptimizedOut
670 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
671 Unbox Phi#630 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 65 None
Block 65 (backedge)
724 Constant magic optimized-out MagicOptimizedOut
677 Unbox Phi#630 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 59 None
Block 66
683 Unbox NewArrayDynamicLength#612 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value
695 Goto -> block 67 None
Block 67 (backedge)
696 Unbox Phi#95 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
699 Goto -> block 1 None
Block 68
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
709 Return <- Add#708 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
96 Goto -> block 1 None
Block 1 (loop header)
88 Phi <- Call#13, Call#112 Value
89 Phi <- Call#21, Box#740 Value
90 Phi <- Call#29, Call#147 Value
92 Phi <- Call#59, Call#489 Value
94 Phi <- Call#81, Call#693 Value
95 Phi <- Constant#83, Add#698 Int32
97 InterruptCheck None
98 Constant 0xa Int32
741 Box <- Phi#95 Value
99 Unbox Box#741 to Int32 (fallible) Int32
100 Compare <- Unbox#99, Constant#98 Lt Bool
101 Test <- Compare#100 -> block 2, block 68 None
1
0
Block 2
102 Constant object 104289c3f040 (LexicalEnvironment) Object
103 Constant object 104289c3e030 (global) Object
104 Constant function complex1 (-e:2) at 104289c6c8c8 Object
105 Constant undefined Undefined
106 Unbox Phi#88 to Double (fallible) Double
742 Box <- Phi#95 Value
107 Unbox Box#742 to Double (fallible) Double
108 Add <- Unbox#106, Unbox#107 [double] Double
109 Constant 0x1 Int32
110 Constant function complex1 (-e:2) at 104289c6c8c8 Object
111 GuardSpecificFunction <- Constant#104, Constant#110 Object
112 Call <- GuardSpecificFunction#111, Constant#105, Add#108 Value
113 Constant object 104289c3f040 (LexicalEnvironment) Object
114 Constant object 104289c3e030 (global) Object
115 Constant function complex2 (-e:7) at 104289c6c970 Object
116 Constant undefined Undefined
117 Unbox Phi#89 to Int32 (fallible) Int32
743 Box <- Phi#95 Value
118 Unbox Box#743 to Int32 (fallible) Int32
119 Add <- Unbox#117, Unbox#118 [int32] Int32
120 Constant 0x1 Int32
121 Constant function complex2 (-e:7) at 104289c6c970 Object
122 GuardSpecificFunction <- Constant#115, Constant#121 Object
123 Goto -> block 3 None
Block 3
124 Constant undefined Undefined
125 Constant 0x1 Int32
126 Lsh <- Add#119, Constant#125 Int32
127 Constant 0x1 Int32
128 Rsh <- Add#119, Constant#127 Int32
129 Constant 0xff Int32
130 BitAnd <- Add#119, Constant#129 Int32
131 Constant 0x2 Int32
132 Ursh <- Add#119, Constant#131 Int32
133 Add <- BitAnd#130, Ursh#132 [int32] Int32
134 BitNot <- Add#119 Int32
135 Sub <- Add#133, BitNot#134 [int32] Int32
136 BitXor <- Rsh#128, Sub#135 Int32
137 BitOr <- Lsh#126, BitXor#136 Int32
139 Goto -> block 4 None
Block 4
140 Constant object 104289c3f040 (LexicalEnvironment) Object
141 Constant object 104289c3e030 (global) Object
142 Constant function complex3 (-e:11) at 104289c6c938 Object
143 Constant undefined Undefined
144 Constant 0x2 Int32
145 Constant function complex3 (-e:11) at 104289c6c938 Object
146 GuardSpecificFunction <- Constant#142, Constant#145 Object
147 Call <- GuardSpecificFunction#146, Constant#143, Phi#90, Call#112 Value
148 Constant object 104289c3f040 (LexicalEnvironment) Object
149 Constant object 104289c3e030 (global) Object
150 Constant function complex4 (-e:17) at 104289c6c890 Object
151 Constant undefined Undefined
152 Constant shape at 104289c64f00 Shape
153 NewArrayObject <- Constant#152 Object
154 Constant 0x0 Int32
155 Elements <- NewArrayObject#153 Elements
156 PostWriteBarrier <- NewArrayObject#153, Call#112 None
157 StoreElement <- Elements#155, Constant#154, Call#112 None
158 SetInitializedLength <- Elements#155, Constant#154 None
159 Constant 0x1 Int32
160 Elements <- NewArrayObject#153 Elements
161 PostWriteBarrier <- NewArrayObject#153, BitOr#137 None
162 StoreElement <- Elements#160, Constant#159, BitOr#137 None
163 SetInitializedLength <- Elements#160, Constant#159 None
164 Constant 0x2 Int32
165 Elements <- NewArrayObject#153 Elements
166 PostWriteBarrier <- NewArrayObject#153, Call#147 None
167 StoreElement <- Elements#165, Constant#164, Call#147 None
168 SetInitializedLength <- Elements#165, Constant#164 None
169 Constant 0x3 Int32
170 Elements <- NewArrayObject#153 Elements
171 PostWriteBarrier <- NewArrayObject#153, Phi#95 None
172 StoreElement <- Elements#170, Constant#169, Phi#95 None
173 SetInitializedLength <- Elements#170, Constant#169 None
174 Constant 0x1 Int32
175 Constant function complex4 (-e:17) at 104289c6c890 Object
176 GuardSpecificFunction <- Constant#150, Constant#175 Object
177 Goto -> block 5 None
Block 5
178 Constant undefined Undefined
179 FunctionEnvironment <- GuardSpecificFunction#176 Object
180 GuardShape <- NewArrayObject#153 Object
181 Constant object 104289c3e088 (Array) Object
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 Constant function complex4/< (-e:18) at 104289c63d28 Object
184 Lambda <- FunctionEnvironment#179, Constant#183 Object
185 Constant 0x1 Int32
186 Constant function map (self-hosted:163) at 104289c47920 Object
187 GuardSpecificFunction <- Constant#182, Constant#186 Object
188 Goto -> block 6 None
Block 6
189 Constant undefined Undefined
190 Constant function ToObject at 104289c6c740 Object
744 Box <- Constant#190 Value
191 DebugCheckSelfHosted <- Box#744 Value
192 Constant undefined Undefined
193 Constant 0x1 Int32
194 Constant function ToLength at 104289c6c778 Object
745 Box <- Constant#194 Value
195 DebugCheckSelfHosted <- Box#745 Value
196 Constant undefined Undefined
197 GuardShape <- NewArrayObject#153 Object
198 Elements <- GuardShape#197 Elements
199 ArrayLength <- Elements#198 Int32
200 Constant 0x1 Int32
201 Constant 0x0 Int32
202 MinMax <- ArrayLength#199, Constant#201 (max) Int32
203 Constant 0x1 Int32
204 Constant 0x0 Int32
205 Compare <- Constant#203, Constant#204 StrictEq Bool
206 Test <- Compare#205 -> block 7, block 8 None
1
0
Block 7
207 CallGetIntrinsicValue Value
208 DebugCheckSelfHosted <- CallGetIntrinsicValue#207 Value
209 Constant undefined Undefined
210 Constant 0x37 Int32
211 Constant 0x0 Int32
212 Constant string 104289c2e080 String
213 Bail None
718 Unreachable None
Block 8
216 Constant function IsCallable at 104289c6c7b0 Object
746 Box <- Constant#216 Value
217 DebugCheckSelfHosted <- Box#746 Value
218 Constant undefined Undefined
219 Constant 0x1 Int32
220 IsCallable <- Lambda#184 Bool
221 Test <- IsCallable#220 -> block 10, block 9 None
1
0
Block 9
222 CallGetIntrinsicValue Value
223 DebugCheckSelfHosted <- CallGetIntrinsicValue#222 Value
224 Constant undefined Undefined
225 Constant 0xc Int32
226 CallGetIntrinsicValue Value
227 DebugCheckSelfHosted <- CallGetIntrinsicValue#226 Value
228 Constant undefined Undefined
229 Constant 0x0 Int32
230 Bail None
717 Unreachable None
Block 10
235 Constant 0x1 Int32
236 Constant 0x1 Int32
237 Compare <- Constant#235, Constant#236 Gt Bool
238 Test <- Compare#237 -> block 11, block 12 None
1
0
Block 11
239 Constant 0x1 Int32
240 GetInlinedArgument <- Constant#239, Lambda#184 Value
241 Goto -> block 13 None
Block 12
242 Constant undefined Undefined
747 Box <- Constant#242 Value
243 Goto -> block 13 None
Block 13
244 Phi <- Box#747, GetInlinedArgument#240 Value
245 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
748 Box <- Constant#245 Value
246 DebugCheckSelfHosted <- Box#748 Value
247 Constant undefined Undefined
248 Constant 0x1 Int32
249 HasShape <- NewArrayObject#153 Bool
250 Test <- HasShape#249 -> block 14, block 15 None
1
0
Block 14
251 Constant function std_Array at 104289c6c820 Object
749 Box <- Constant#251 Value
252 DebugCheckSelfHosted <- Box#749 Value
253 Constant undefined Undefined
254 Constant 0x1 Int32
255 Unbox DebugCheckSelfHosted#252 to Object (fallible) Object
256 Constant function std_Array at 104289c6c820 Object
257 GuardSpecificFunction <- Unbox#255, Constant#256 Object
258 NewArrayDynamicLength <- MinMax#202 Object
259 Goto -> block 16 None
Block 15
260 CallGetIntrinsicValue Value
261 DebugCheckSelfHosted <- CallGetIntrinsicValue#260 Value
262 Constant undefined Undefined
263 Bail None
716 Unreachable None
Block 16
267 Constant 0x0 Int32
279 Goto -> block 17 None
Block 17 (loop header)
276 Phi <- Constant#267, Add#324 Int32
734 Constant magic optimized-out MagicOptimizedOut
280 InterruptCheck None
750 Box <- Phi#276 Value
281 Unbox Box#750 to Int32 (fallible) Int32
751 Box <- MinMax#202 Value
282 Unbox Box#751 to Int32 (fallible) Int32
283 Compare <- Unbox#281, Unbox#282 Lt Bool
284 Test <- Compare#283 -> block 18, block 24 None
1
0
Block 18
739 Constant magic optimized-out MagicOptimizedOut
752 Box <- NewArrayObject#153 Value
285 Unbox Box#752 to Object (fallible) Object
753 Box <- Phi#276 Value
286 Unbox Box#753 to Int32 (fallible) Int32
287 GuardShape <- Unbox#285 Object
288 Elements <- GuardShape#287 Elements
289 InitializedLength <- Elements#288 Int32
290 BoundsCheck <- Unbox#286, InitializedLength#289 Int32
291 SpectreMaskIndex <- BoundsCheck#290, InitializedLength#289 Int32
292 GuardElementNotHole <- Elements#288, SpectreMaskIndex#291 None
293 Constant true Bool
294 Test <- Constant#293 -> block 20, block 19 None
1
0
Block 19 (split edge)
736 Constant magic optimized-out MagicOptimizedOut
719 Goto -> block 23 None
Block 20
738 Constant magic optimized-out MagicOptimizedOut
754 Box <- NewArrayObject#153 Value
295 Unbox Box#754 to Object (fallible) Object
755 Box <- Phi#276 Value
296 Unbox Box#755 to Int32 (fallible) Int32
297 GuardShape <- Unbox#295 Object
298 Elements <- GuardShape#297 Elements
299 InitializedLength <- Elements#298 Int32
300 BoundsCheck <- Unbox#296, InitializedLength#299 Int32
301 SpectreMaskIndex <- BoundsCheck#300, InitializedLength#299 Int32
302 GuardElementsArePacked <- Elements#298 None
303 LoadElement <- Elements#298, SpectreMaskIndex#301 Value
304 Constant 0x3 Int32
756 Box <- Lambda#184 Value
305 Unbox Box#756 to Object (fallible) Object
306 GuardToFunction <- Unbox#305 Object
307 GuardFunctionScript <- GuardToFunction#306 Object
308 Goto -> block 21 None
Block 21
309 Constant undefined Undefined
310 Constant 0x2 Int32
311 Unbox LoadElement#303 to Double (fallible) Double
757 ToDouble <- Constant#310 Double
312 Mul <- Unbox#311, ToDouble#757 [double] Double
314 Goto -> block 22 None
Block 22
737 Constant magic optimized-out MagicOptimizedOut
758 Box <- NewArrayDynamicLength#258 Value
315 Unbox Box#758 to Object (fallible) Object
759 Box <- Phi#276 Value
316 Unbox Box#759 to Int32 (fallible) Int32
317 GuardShape <- Unbox#315 Object
318 Elements <- GuardShape#317 Elements
319 StoreElementHole <- GuardShape#317, Elements#318, Unbox#316, Mul#312 None
320 Goto -> block 23 None
Block 23 (backedge)
735 Constant magic optimized-out MagicOptimizedOut
760 Box <- Phi#276 Value
322 Unbox Box#760 to Int32 (fallible) Int32
323 Constant 0x1 Int32
324 Add <- Unbox#322, Constant#323 [int32] Int32
325 Goto -> block 17 None
Block 24
761 Box <- NewArrayDynamicLength#258 Value
328 Unbox Box#761 to Object (fallible) Object
329 GuardShape <- Unbox#328 Object
330 Constant object 104289c3e088 (Array) Object
331 Constant function filter (self-hosted:183) at 104289c47970 Object
332 Constant function complex4/< (-e:18) at 104289c63d60 Object
333 Lambda <- FunctionEnvironment#179, Constant#332 Object
334 Constant 0x1 Int32
335 Constant function filter (self-hosted:183) at 104289c47970 Object
336 GuardSpecificFunction <- Constant#331, Constant#335 Object
337 Goto -> block 25 None
Block 25
338 Constant undefined Undefined
339 Constant function ToObject at 104289c6c740 Object
762 Box <- Constant#339 Value
340 DebugCheckSelfHosted <- Box#762 Value
341 Constant undefined Undefined
342 Constant 0x1 Int32
763 Box <- NewArrayDynamicLength#258 Value
343 Unbox Box#763 to Object (fallible) Object
344 Constant function ToLength at 104289c6c778 Object
764 Box <- Constant#344 Value
345 DebugCheckSelfHosted <- Box#764 Value
346 Constant undefined Undefined
347 GuardShape <- Unbox#343 Object
348 Elements <- GuardShape#347 Elements
349 ArrayLength <- Elements#348 Int32
350 Constant 0x1 Int32
351 Constant 0x0 Int32
352 MinMax <- ArrayLength#349, Constant#351 (max) Int32
353 Constant 0x1 Int32
354 Constant 0x0 Int32
355 Compare <- Constant#353, Constant#354 StrictEq Bool
356 Test <- Compare#355 -> block 26, block 27 None
1
0
Block 26
357 CallGetIntrinsicValue Value
358 DebugCheckSelfHosted <- CallGetIntrinsicValue#357 Value
359 Constant undefined Undefined
360 Constant 0x37 Int32
361 Constant 0x0 Int32
362 Constant string 104289c28540 String
363 Bail None
715 Unreachable None
Block 27
366 Constant function IsCallable at 104289c6c7b0 Object
765 Box <- Constant#366 Value
367 DebugCheckSelfHosted <- Box#765 Value
368 Constant undefined Undefined
369 Constant 0x1 Int32
370 IsCallable <- Lambda#333 Bool
371 Test <- IsCallable#370 -> block 29, block 28 None
1
0
Block 28
372 CallGetIntrinsicValue Value
373 DebugCheckSelfHosted <- CallGetIntrinsicValue#372 Value
374 Constant undefined Undefined
375 Constant 0xc Int32
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0x0 Int32
380 Bail None
714 Unreachable None
Block 29
385 Constant 0x1 Int32
386 Constant 0x1 Int32
387 Compare <- Constant#385, Constant#386 Gt Bool
388 Test <- Compare#387 -> block 30, block 31 None
1
0
Block 30
389 Constant 0x1 Int32
390 GetInlinedArgument <- Constant#389, Lambda#333 Value
391 Goto -> block 32 None
Block 31
392 Constant undefined Undefined
766 Box <- Constant#392 Value
393 Goto -> block 32 None
Block 32
394 Phi <- Box#766, GetInlinedArgument#390 Value
395 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
767 Box <- Constant#395 Value
396 DebugCheckSelfHosted <- Box#767 Value
397 Constant undefined Undefined
398 Constant 0x1 Int32
399 HasShape <- Unbox#343 Bool
400 Test <- HasShape#399 -> block 33, block 34 None
1
0
Block 33
401 Constant shape at 104289c64f00 Shape
402 NewArrayObject <- Constant#401 Object
403 Goto -> block 35 None
Block 34
404 CallGetIntrinsicValue Value
405 DebugCheckSelfHosted <- CallGetIntrinsicValue#404 Value
406 Constant undefined Undefined
407 Constant 0x0 Int32
408 Bail None
713 Unreachable None
Block 35
412 Constant 0x0 Int32
413 Constant 0x0 Int32
426 Goto -> block 36 None
Block 36 (loop header)
422 Phi <- Constant#412, Add#475 Int32
423 Phi <- Constant#413, Phi#471 Int32
729 Constant magic optimized-out MagicOptimizedOut
427 InterruptCheck None
768 Box <- Phi#422 Value
428 Unbox Box#768 to Int32 (fallible) Int32
769 Box <- MinMax#352 Value
429 Unbox Box#769 to Int32 (fallible) Int32
430 Compare <- Unbox#428, Unbox#429 Lt Bool
431 Test <- Compare#430 -> block 37, block 45 None
1
0
Block 37
733 Constant magic optimized-out MagicOptimizedOut
770 Box <- Unbox#343 Value
432 Unbox Box#770 to Object (fallible) Object
771 Box <- Phi#422 Value
433 Unbox Box#771 to Int32 (fallible) Int32
434 GuardShape <- Unbox#432 Object
435 Elements <- GuardShape#434 Elements
436 InitializedLength <- Elements#435 Int32
437 BoundsCheck <- Unbox#433, InitializedLength#436 Int32
438 SpectreMaskIndex <- BoundsCheck#437, InitializedLength#436 Int32
439 GuardElementNotHole <- Elements#435, SpectreMaskIndex#438 None
440 Constant true Bool
441 Test <- Constant#440 -> block 39, block 38 None
1
0
Block 38 (split edge)
731 Constant magic optimized-out MagicOptimizedOut
720 Goto -> block 44 None
Block 39
732 Constant magic optimized-out MagicOptimizedOut
772 Box <- Unbox#343 Value
442 Unbox Box#772 to Object (fallible) Object
773 Box <- Phi#422 Value
443 Unbox Box#773 to Int32 (fallible) Int32
444 GuardShape <- Unbox#442 Object
445 Elements <- GuardShape#444 Elements
446 InitializedLength <- Elements#445 Int32
447 BoundsCheck <- Unbox#443, InitializedLength#446 Int32
448 SpectreMaskIndex <- BoundsCheck#447, InitializedLength#446 Int32
449 GuardElementsArePacked <- Elements#445 None
450 LoadElement <- Elements#445, SpectreMaskIndex#448 Value
451 Constant 0x3 Int32
774 Box <- Lambda#333 Value
452 Unbox Box#774 to Object (fallible) Object
453 GuardToFunction <- Unbox#452 Object
454 GuardFunctionScript <- GuardToFunction#453 Object
455 Goto -> block 40 None
Block 40
456 Constant undefined Undefined
457 Constant 0x32 Int32
458 Unbox LoadElement#450 to Double (fallible) Double
775 ToDouble <- Constant#457 Double
459 Compare <- Unbox#458, ToDouble#775 Gt Bool
461 Goto -> block 41 None
Block 41
462 Test <- Compare#459 -> block 43, block 42 None
1
0
Block 42 (split edge)
721 Goto -> block 44 None
Block 43
776 Box <- Phi#423 Value
463 Unbox Box#776 to Int32 (fallible) Int32
464 Constant 0x1 Int32
465 Add <- Unbox#463, Constant#464 [int32] Int32
777 Box <- NewArrayObject#402 Value
466 Unbox Box#777 to Object (fallible) Object
467 GuardShape <- Unbox#466 Object
468 Elements <- GuardShape#467 Elements
469 StoreElementHole <- GuardShape#467, Elements#468, Unbox#463, LoadElement#450 None
470 Goto -> block 44 None
Block 44 (backedge)
471 Phi <- Add#465, Phi#423, Phi#423 Int32
730 Constant magic optimized-out MagicOptimizedOut
778 Box <- Phi#422 Value
473 Unbox Box#778 to Int32 (fallible) Int32
474 Constant 0x1 Int32
475 Add <- Unbox#473, Constant#474 [int32] Int32
476 Goto -> block 36 None
Block 45
779 Box <- NewArrayObject#402 Value
479 Unbox Box#779 to Object (fallible) Object
480 GuardShape <- Unbox#479 Object
481 Constant object 104289c3e088 (Array) Object
482 Constant function reduce (self-hosted:205) at 104289c479c0 Object
483 Constant function complex4/< (-e:18) at 104289c63d98 Object
484 Lambda <- FunctionEnvironment#179, Constant#483 Object
485 Constant 0x0 Int32
486 Constant 0x2 Int32
487 Constant function reduce (self-hosted:205) at 104289c479c0 Object
488 GuardSpecificFunction <- Constant#482, Constant#487 Object
489 Call <- GuardSpecificFunction#488, NewArrayObject#402, Lambda#484, Constant#485 Value
491 Goto -> block 46 None
Block 46
492 Constant object 104289c3f040 (LexicalEnvironment) Object
493 Constant object 104289c3e030 (global) Object
494 Constant function complex5 (-e:21) at 104289c6c900 Object
495 Constant undefined Undefined
496 Constant shape at 104289c64fc0 Shape
497 NewPlainObject <- Constant#496 Object
498 GuardShape <- NewPlainObject#497 Object
499 PostWriteBarrier <- GuardShape#498, Call#112 None
500 StoreFixedSlot <- GuardShape#498, Call#112 (slot 0) None
501 GuardShape <- NewPlainObject#497 Object
502 PostWriteBarrier <- GuardShape#501, BitOr#137 None
503 StoreFixedSlot <- GuardShape#501, BitOr#137 (slot 1) None
504 GuardShape <- NewPlainObject#497 Object
505 PostWriteBarrier <- GuardShape#504, Call#147 None
506 StoreFixedSlot <- GuardShape#504, Call#147 (slot 2) None
507 Constant 0x1 Int32
508 Constant function complex5 (-e:21) at 104289c6c900 Object
509 GuardSpecificFunction <- Constant#494, Constant#508 Object
510 Goto -> block 47 None
Block 47
511 Constant undefined Undefined
512 FunctionEnvironment <- GuardSpecificFunction#509 Object
513 Constant object 104289c3f078 (Call) Object
514 NewCallObject <- Constant#513 Object
780 Box <- FunctionEnvironment#512 Value
515 AssertCanElidePostWriteBarrier <- NewCallObject#514, Box#780 None
781 Box <- GuardSpecificFunction#509 Value
516 AssertCanElidePostWriteBarrier <- NewCallObject#514, Box#781 None
517 StoreFixedSlot <- NewCallObject#514, FunctionEnvironment#512 (slot 0) None
518 StoreFixedSlot <- NewCallObject#514, GuardSpecificFunction#509 (slot 1) None
519 PostWriteBarrier <- NewCallObject#514, NewPlainObject#497 None
520 StoreFixedSlot <- NewCallObject#514, NewPlainObject#497 (slot 2) None
521 Constant object 104289c3f040 (LexicalEnvironment) Object
522 Constant object 104289c3e030 (global) Object
523 Constant function Object at 104289c422e0 Object
524 Constant function Object at 104289c422e0 Object
525 GuardObjectIdentity <- Constant#523, Constant#524 Object
526 Constant function keys at 104289c42468 Object
527 LoadFixedSlot <- NewCallObject#514 (slot 2) Value
528 Constant 0x1 Int32
529 Constant function keys at 104289c42468 Object
530 GuardSpecificFunction <- Constant#526, Constant#529 Object
531 Unbox LoadFixedSlot#527 to Object (fallible) Object
532 GuardIsNotProxy <- Unbox#531 Object
533 ObjectKeys <- GuardIsNotProxy#532 Object
534 GuardShape <- ObjectKeys#533 Object
535 Constant object 104289c3e088 (Array) Object
536 Constant function map (self-hosted:163) at 104289c47920 Object
537 Constant function complex5/< (-e:22) at 104289c63e08 Object
538 Lambda <- NewCallObject#514, Constant#537 Object
539 Constant 0x1 Int32
540 Constant function map (self-hosted:163) at 104289c47920 Object
541 GuardSpecificFunction <- Constant#536, Constant#540 Object
542 Goto -> block 48 None
Block 48
543 Constant undefined Undefined
544 Constant function ToObject at 104289c6c740 Object
782 Box <- Constant#544 Value
545 DebugCheckSelfHosted <- Box#782 Value
546 Constant undefined Undefined
547 Constant 0x1 Int32
548 Constant function ToLength at 104289c6c778 Object
783 Box <- Constant#548 Value
549 DebugCheckSelfHosted <- Box#783 Value
550 Constant undefined Undefined
551 GuardShape <- ObjectKeys#533 Object
552 Elements <- GuardShape#551 Elements
553 ArrayLength <- Elements#552 Int32
554 Constant 0x1 Int32
555 Constant 0x0 Int32
556 MinMax <- ArrayLength#553, Constant#555 (max) Int32
557 Constant 0x1 Int32
558 Constant 0x0 Int32
559 Compare <- Constant#557, Constant#558 StrictEq Bool
560 Test <- Compare#559 -> block 49, block 50 None
1
0
Block 49
561 CallGetIntrinsicValue Value
562 DebugCheckSelfHosted <- CallGetIntrinsicValue#561 Value
563 Constant undefined Undefined
564 Constant 0x37 Int32
565 Constant 0x0 Int32
566 Constant string 104289c2e080 String
567 Bail None
712 Unreachable None
Block 50
570 Constant function IsCallable at 104289c6c7b0 Object
784 Box <- Constant#570 Value
571 DebugCheckSelfHosted <- Box#784 Value
572 Constant undefined Undefined
573 Constant 0x1 Int32
574 IsCallable <- Lambda#538 Bool
575 Test <- IsCallable#574 -> block 52, block 51 None
1
0
Block 51
576 CallGetIntrinsicValue Value
577 DebugCheckSelfHosted <- CallGetIntrinsicValue#576 Value
578 Constant undefined Undefined
579 Constant 0xc Int32
580 CallGetIntrinsicValue Value
581 DebugCheckSelfHosted <- CallGetIntrinsicValue#580 Value
582 Constant undefined Undefined
583 Constant 0x0 Int32
584 Bail None
711 Unreachable None
Block 52
589 Constant 0x1 Int32
590 Constant 0x1 Int32
591 Compare <- Constant#589, Constant#590 Gt Bool
592 Test <- Compare#591 -> block 53, block 54 None
1
0
Block 53
593 Constant 0x1 Int32
594 GetInlinedArgument <- Constant#593, Lambda#538 Value
595 Goto -> block 55 None
Block 54
596 Constant undefined Undefined
785 Box <- Constant#596 Value
597 Goto -> block 55 None
Block 55
598 Phi <- Box#785, GetInlinedArgument#594 Value
599 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
786 Box <- Constant#599 Value
600 DebugCheckSelfHosted <- Box#786 Value
601 Constant undefined Undefined
602 Constant 0x1 Int32
603 HasShape <- ObjectKeys#533 Bool
604 Test <- HasShape#603 -> block 56, block 57 None
1
0
Block 56
605 Constant function std_Array at 104289c6c820 Object
787 Box <- Constant#605 Value
606 DebugCheckSelfHosted <- Box#787 Value
607 Constant undefined Undefined
608 Constant 0x1 Int32
609 Unbox DebugCheckSelfHosted#606 to Object (fallible) Object
610 Constant function std_Array at 104289c6c820 Object
611 GuardSpecificFunction <- Unbox#609, Constant#610 Object
612 NewArrayDynamicLength <- MinMax#556 Object
613 Goto -> block 58 None
Block 57
614 CallGetIntrinsicValue Value
615 DebugCheckSelfHosted <- CallGetIntrinsicValue#614 Value
616 Constant undefined Undefined
617 Bail None
710 Unreachable None
Block 58
621 Constant 0x0 Int32
633 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#621, Add#679 Int32
723 Constant magic optimized-out MagicOptimizedOut
634 InterruptCheck None
788 Box <- Phi#630 Value
635 Unbox Box#788 to Int32 (fallible) Int32
789 Box <- MinMax#556 Value
636 Unbox Box#789 to Int32 (fallible) Int32
637 Compare <- Unbox#635, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
728 Constant magic optimized-out MagicOptimizedOut
790 Box <- ObjectKeys#533 Value
639 Unbox Box#790 to Object (fallible) Object
791 Box <- Phi#630 Value
640 Unbox Box#791 to Int32 (fallible) Int32
641 GuardShape <- Unbox#639 Object
642 Elements <- GuardShape#641 Elements
643 InitializedLength <- Elements#642 Int32
644 BoundsCheck <- Unbox#640, InitializedLength#643 Int32
645 SpectreMaskIndex <- BoundsCheck#644, InitializedLength#643 Int32
646 GuardElementNotHole <- Elements#642, SpectreMaskIndex#645 None
647 Constant true Bool
648 Test <- Constant#647 -> block 62, block 61 None
1
0
Block 61 (split edge)
725 Constant magic optimized-out MagicOptimizedOut
722 Goto -> block 65 None
Block 62
727 Constant magic optimized-out MagicOptimizedOut
792 Box <- ObjectKeys#533 Value
649 Unbox Box#792 to Object (fallible) Object
793 Box <- Phi#630 Value
650 Unbox Box#793 to Int32 (fallible) Int32
651 GuardShape <- Unbox#649 Object
652 Elements <- GuardShape#651 Elements
653 InitializedLength <- Elements#652 Int32
654 BoundsCheck <- Unbox#650, InitializedLength#653 Int32
655 SpectreMaskIndex <- BoundsCheck#654, InitializedLength#653 Int32
656 GuardElementsArePacked <- Elements#652 None
657 LoadElement <- Elements#652, SpectreMaskIndex#655 Value
658 Constant 0x3 Int32
794 Box <- Lambda#538 Value
659 Unbox Box#794 to Object (fallible) Object
660 GuardToFunction <- Unbox#659 Object
661 GuardFunctionScript <- GuardToFunction#660 Object
662 Goto -> block 63 None
Block 63
663 Constant undefined Undefined
664 FunctionEnvironment <- GuardFunctionScript#661 Object
665 LoadFixedSlot <- FunctionEnvironment#664 (slot 2) Value
666 Unbox LoadFixedSlot#665 to Object (fallible) Object
667 MegamorphicLoadSlotByValue <- Unbox#666, LoadElement#657 Value
669 Goto -> block 64 None
Block 64
726 Constant magic optimized-out MagicOptimizedOut
795 Box <- NewArrayDynamicLength#612 Value
670 Unbox Box#795 to Object (fallible) Object
796 Box <- Phi#630 Value
671 Unbox Box#796 to Int32 (fallible) Int32
672 GuardShape <- Unbox#670 Object
673 Elements <- GuardShape#672 Elements
674 StoreElementHole <- GuardShape#672, Elements#673, Unbox#671, MegamorphicLoadSlotByValue#667 None
675 Goto -> block 65 None
Block 65 (backedge)
724 Constant magic optimized-out MagicOptimizedOut
797 Box <- Phi#630 Value
677 Unbox Box#797 to Int32 (fallible) Int32
678 Constant 0x1 Int32
679 Add <- Unbox#677, Constant#678 [int32] Int32
680 Goto -> block 59 None
Block 66
798 Box <- NewArrayDynamicLength#612 Value
683 Unbox Box#798 to Object (fallible) Object
684 GuardShape <- Unbox#683 Object
685 Constant object 104289c3e088 (Array) Object
686 Constant function reduce (self-hosted:205) at 104289c479c0 Object
687 Constant function complex5/< (-e:22) at 104289c63e40 Object
688 Lambda <- NewCallObject#514, Constant#687 Object
689 Constant 0x0 Int32
690 Constant 0x2 Int32
691 Constant function reduce (self-hosted:205) at 104289c479c0 Object
692 GuardSpecificFunction <- Constant#686, Constant#691 Object
693 Call <- GuardSpecificFunction#692, NewArrayDynamicLength#612, Lambda#688, Constant#689 Value
695 Goto -> block 67 None
Block 67 (backedge)
799 Box <- Phi#95 Value
696 Unbox Box#799 to Int32 (fallible) Int32
697 Constant 0x1 Int32
698 Add <- Unbox#696, Constant#697 [int32] Int32
740 Box <- BitOr#137 Value
699 Goto -> block 1 None
Block 68
700 Unbox Phi#88 to Double (fallible) Double
701 Unbox Phi#89 to Double (fallible) Double
702 Add <- Unbox#700, Unbox#701 [double] Double
703 Unbox Phi#90 to Double (fallible) Double
704 Add <- Add#702, Unbox#703 [double] Double
705 Unbox Phi#92 to Double (fallible) Double
706 Add <- Add#704, Unbox#705 [double] Double
707 Unbox Phi#94 to Double (fallible) Double
708 Add <- Add#706, Unbox#707 [double] Double
800 Box <- Add#708 Value
709 Return <- Box#800 None
Block 0
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#83, Add#709 Int32
91 InterruptCheck None
92 Constant 0xa Int32
93 Box <- Phi#90 Value
94 Unbox Box#93 to Int32 (fallible) Int32
95 Compare <- Unbox#94, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 68 None
1
0
Block 2
97 Constant object 104289c3f040 (LexicalEnvironment) Object
98 Constant object 104289c3e030 (global) Object
99 Constant function complex1 (-e:2) at 104289c6c8c8 Object
100 Constant undefined Undefined
101 Unbox Phi#85 to Double (fallible) Double
102 Box <- Phi#90 Value
103 Unbox Box#102 to Double (fallible) Double
104 Add <- Unbox#101, Unbox#103 [double] Double
105 Constant 0x1 Int32
106 Constant function complex1 (-e:2) at 104289c6c8c8 Object
107 GuardSpecificFunction <- Constant#99, Constant#106 Object
108 Call <- GuardSpecificFunction#107, Constant#100, Add#104 Value
109 Constant object 104289c3f040 (LexicalEnvironment) Object
110 Constant object 104289c3e030 (global) Object
111 Constant function complex2 (-e:7) at 104289c6c970 Object
112 Constant undefined Undefined
113 Unbox Phi#86 to Int32 (fallible) Int32
114 Box <- Phi#90 Value
115 Unbox Box#114 to Int32 (fallible) Int32
116 Add <- Unbox#113, Unbox#115 [int32] Int32
117 Constant 0x1 Int32
118 Constant function complex2 (-e:7) at 104289c6c970 Object
119 GuardSpecificFunction <- Constant#111, Constant#118 Object
120 Goto -> block 3 None
Block 3
121 Constant undefined Undefined
122 Constant 0x1 Int32
123 Lsh <- Add#116, Constant#122 Int32
124 Constant 0x1 Int32
125 Rsh <- Add#116, Constant#124 Int32
126 Constant 0xff Int32
127 BitAnd <- Add#116, Constant#126 Int32
128 Constant 0x2 Int32
129 Ursh <- Add#116, Constant#128 Int32
130 Add <- BitAnd#127, Ursh#129 [int32] Int32
131 BitNot <- Add#116 Int32
132 Sub <- Add#130, BitNot#131 [int32] Int32
133 BitXor <- Rsh#125, Sub#132 Int32
134 BitOr <- Lsh#123, BitXor#133 Int32
135 Goto -> block 4 None
Block 4
136 Constant object 104289c3f040 (LexicalEnvironment) Object
137 Constant object 104289c3e030 (global) Object
138 Constant function complex3 (-e:11) at 104289c6c938 Object
139 Constant undefined Undefined
140 Constant 0x2 Int32
141 Constant function complex3 (-e:11) at 104289c6c938 Object
142 GuardSpecificFunction <- Constant#138, Constant#141 Object
143 Call <- GuardSpecificFunction#142, Constant#139, Phi#87, Call#108 Value
144 Constant object 104289c3f040 (LexicalEnvironment) Object
145 Constant object 104289c3e030 (global) Object
146 Constant function complex4 (-e:17) at 104289c6c890 Object
147 Constant undefined Undefined
148 Constant shape at 104289c64f00 Shape
149 NewArrayObject <- Constant#148 Object
150 Constant 0x0 Int32
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#150, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#150 None
155 Constant 0x1 Int32
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#155, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#155 None
160 Constant 0x2 Int32
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#160, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#160 None
165 Constant 0x3 Int32
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#165, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#165 None
170 Constant 0x1 Int32
171 Constant function complex4 (-e:17) at 104289c6c890 Object
172 GuardSpecificFunction <- Constant#146, Constant#171 Object
173 Goto -> block 5 None
Block 5
174 Constant undefined Undefined
175 FunctionEnvironment <- GuardSpecificFunction#172 Object
176 GuardShape <- NewArrayObject#149 Object
177 Constant object 104289c3e088 (Array) Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
181 Constant 0x1 Int32
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 GuardSpecificFunction <- Constant#178, Constant#182 Object
184 Goto -> block 6 None
Block 6
185 Constant undefined Undefined
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
189 Constant undefined Undefined
190 Constant 0x1 Int32
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
194 Constant undefined Undefined
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 Int32
198 Constant 0x1 Int32
199 Constant 0x0 Int32
200 MinMax <- ArrayLength#197, Constant#199 (max) Int32
201 Constant 0x1 Int32
202 Constant 0x0 Int32
203 Compare <- Constant#201, Constant#202 StrictEq Bool
204 Test <- Compare#203 -> block 7, block 8 None
1
0
Block 7
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x37 Int32
209 Constant 0x0 Int32
210 Constant string 104289c2e080 String
211 Bail None
212 Unreachable None
Block 8
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
216 Constant undefined Undefined
217 Constant 0x1 Int32
218 IsCallable <- Lambda#180 Bool
219 Test <- IsCallable#218 -> block 10, block 9 None
1
0
Block 9
220 CallGetIntrinsicValue Value
221 DebugCheckSelfHosted <- CallGetIntrinsicValue#220 Value
222 Constant undefined Undefined
223 Constant 0xc Int32
224 CallGetIntrinsicValue Value
225 DebugCheckSelfHosted <- CallGetIntrinsicValue#224 Value
226 Constant undefined Undefined
227 Constant 0x0 Int32
228 Bail None
229 Unreachable None
Block 10
230 Constant 0x1 Int32
231 Constant 0x1 Int32
232 Compare <- Constant#230, Constant#231 Gt Bool
233 Test <- Compare#232 -> block 11, block 12 None
1
0
Block 11
234 Constant 0x1 Int32
235 GetInlinedArgument <- Constant#234, Lambda#180 Value
236 Goto -> block 13 None
Block 12
237 Constant undefined Undefined
238 Box <- Constant#237 Value
239 Goto -> block 13 None
Block 13
240 Phi <- Box#238, GetInlinedArgument#235 Value
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
244 Constant undefined Undefined
245 Constant 0x1 Int32
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 14, block 15 None
1
0
Block 14
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
251 Constant undefined Undefined
252 Constant 0x1 Int32
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
254 Constant function std_Array at 104289c6c820 Object
255 GuardSpecificFunction <- Unbox#253, Constant#254 Object
256 NewArrayDynamicLength <- MinMax#200 Object
257 Goto -> block 16 None
Block 15
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
260 Constant undefined Undefined
261 Bail None
262 Unreachable None
Block 16
263 Constant 0x0 Int32
264 Goto -> block 17 None
Block 17 (loop header)
265 Phi <- Constant#263, Add#326 Int32
266 Constant magic optimized-out MagicOptimizedOut
267 InterruptCheck None
268 Box <- Phi#265 Value
269 Unbox Box#268 to Int32 (fallible) Int32
270 Box <- MinMax#200 Value
271 Unbox Box#270 to Int32 (fallible) Int32
272 Compare <- Unbox#269, Unbox#271 Lt Bool
273 Test <- Compare#272 -> block 18, block 24 None
1
0
Block 18
274 Constant magic optimized-out MagicOptimizedOut
275 Box <- NewArrayObject#149 Value
276 Unbox Box#275 to Object (fallible) Object
277 Box <- Phi#265 Value
278 Unbox Box#277 to Int32 (fallible) Int32
279 GuardShape <- Unbox#276 Object
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Unbox#278, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
285 Constant true Bool
286 Test <- Constant#285 -> block 20, block 19 None
1
0
Block 19 (split edge)
287 Constant magic optimized-out MagicOptimizedOut
288 Goto -> block 23 None
Block 20
289 Constant magic optimized-out MagicOptimizedOut
290 Box <- NewArrayObject#149 Value
291 Unbox Box#290 to Object (fallible) Object
292 Box <- Phi#265 Value
293 Unbox Box#292 to Int32 (fallible) Int32
294 GuardShape <- Unbox#291 Object
295 Elements <- GuardShape#294 Elements
296 InitializedLength <- Elements#295 Int32
297 BoundsCheck <- Unbox#293, InitializedLength#296 Int32
298 SpectreMaskIndex <- BoundsCheck#297, InitializedLength#296 Int32
299 GuardElementsArePacked <- Elements#295 None
300 LoadElement <- Elements#295, SpectreMaskIndex#298 Value
301 Constant 0x3 Int32
302 Box <- Lambda#180 Value
303 Unbox Box#302 to Object (fallible) Object
304 GuardToFunction <- Unbox#303 Object
305 GuardFunctionScript <- GuardToFunction#304 Object
306 Goto -> block 21 None
Block 21
307 Constant undefined Undefined
308 Constant 0x2 Int32
309 Unbox LoadElement#300 to Double (fallible) Double
310 ToDouble <- Constant#308 Double
311 Mul <- Unbox#309, ToDouble#310 [double] Double
312 Goto -> block 22 None
Block 22
313 Constant magic optimized-out MagicOptimizedOut
314 Box <- NewArrayDynamicLength#256 Value
315 Unbox Box#314 to Object (fallible) Object
316 Box <- Phi#265 Value
317 Unbox Box#316 to Int32 (fallible) Int32
318 GuardShape <- Unbox#315 Object
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Unbox#317, Mul#311 None
321 Goto -> block 23 None
Block 23 (backedge)
322 Constant magic optimized-out MagicOptimizedOut
323 Box <- Phi#265 Value
324 Unbox Box#323 to Int32 (fallible) Int32
325 Constant 0x1 Int32
326 Add <- Unbox#324, Constant#325 [int32] Int32
327 Goto -> block 17 None
Block 24
328 Box <- NewArrayDynamicLength#256 Value
329 Unbox Box#328 to Object (fallible) Object
330 GuardShape <- Unbox#329 Object
331 Constant object 104289c3e088 (Array) Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
335 Constant 0x1 Int32
336 Constant function filter (self-hosted:183) at 104289c47970 Object
337 GuardSpecificFunction <- Constant#332, Constant#336 Object
338 Goto -> block 25 None
Block 25
339 Constant undefined Undefined
340 Constant function ToObject at 104289c6c740 Object
341 Box <- Constant#340 Value
342 DebugCheckSelfHosted <- Box#341 Value
343 Constant undefined Undefined
344 Constant 0x1 Int32
345 Box <- NewArrayDynamicLength#256 Value
346 Unbox Box#345 to Object (fallible) Object
347 Constant function ToLength at 104289c6c778 Object
348 Box <- Constant#347 Value
349 DebugCheckSelfHosted <- Box#348 Value
350 Constant undefined Undefined
351 GuardShape <- Unbox#346 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 Int32
354 Constant 0x1 Int32
355 Constant 0x0 Int32
356 MinMax <- ArrayLength#353, Constant#355 (max) Int32
357 Constant 0x1 Int32
358 Constant 0x0 Int32
359 Compare <- Constant#357, Constant#358 StrictEq Bool
360 Test <- Compare#359 -> block 26, block 27 None
1
0
Block 26
361 CallGetIntrinsicValue Value
362 DebugCheckSelfHosted <- CallGetIntrinsicValue#361 Value
363 Constant undefined Undefined
364 Constant 0x37 Int32
365 Constant 0x0 Int32
366 Constant string 104289c28540 String
367 Bail None
368 Unreachable None
Block 27
369 Constant function IsCallable at 104289c6c7b0 Object
370 Box <- Constant#369 Value
371 DebugCheckSelfHosted <- Box#370 Value
372 Constant undefined Undefined
373 Constant 0x1 Int32
374 IsCallable <- Lambda#334 Bool
375 Test <- IsCallable#374 -> block 29, block 28 None
1
0
Block 28
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0xc Int32
380 CallGetIntrinsicValue Value
381 DebugCheckSelfHosted <- CallGetIntrinsicValue#380 Value
382 Constant undefined Undefined
383 Constant 0x0 Int32
384 Bail None
385 Unreachable None
Block 29
386 Constant 0x1 Int32
387 Constant 0x1 Int32
388 Compare <- Constant#386, Constant#387 Gt Bool
389 Test <- Compare#388 -> block 30, block 31 None
1
0
Block 30
390 Constant 0x1 Int32
391 GetInlinedArgument <- Constant#390, Lambda#334 Value
392 Goto -> block 32 None
Block 31
393 Constant undefined Undefined
394 Box <- Constant#393 Value
395 Goto -> block 32 None
Block 32
396 Phi <- Box#394, GetInlinedArgument#391 Value
397 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
398 Box <- Constant#397 Value
399 DebugCheckSelfHosted <- Box#398 Value
400 Constant undefined Undefined
401 Constant 0x1 Int32
402 HasShape <- Unbox#346 Bool
403 Test <- HasShape#402 -> block 33, block 34 None
1
0
Block 33
404 Constant shape at 104289c64f00 Shape
405 NewArrayObject <- Constant#404 Object
406 Goto -> block 35 None
Block 34
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
409 Constant undefined Undefined
410 Constant 0x0 Int32
411 Bail None
412 Unreachable None
Block 35
413 Constant 0x0 Int32
414 Constant 0x0 Int32
415 Goto -> block 36 None
Block 36 (loop header)
416 Phi <- Constant#413, Add#482 Int32
417 Phi <- Constant#414, Phi#477 Int32
418 Constant magic optimized-out MagicOptimizedOut
419 InterruptCheck None
420 Box <- Phi#416 Value
421 Unbox Box#420 to Int32 (fallible) Int32
422 Box <- MinMax#356 Value
423 Unbox Box#422 to Int32 (fallible) Int32
424 Compare <- Unbox#421, Unbox#423 Lt Bool
425 Test <- Compare#424 -> block 37, block 45 None
1
0
Block 37
426 Constant magic optimized-out MagicOptimizedOut
427 Box <- Unbox#346 Value
428 Unbox Box#427 to Object (fallible) Object
429 Box <- Phi#416 Value
430 Unbox Box#429 to Int32 (fallible) Int32
431 GuardShape <- Unbox#428 Object
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 Int32
434 BoundsCheck <- Unbox#430, InitializedLength#433 Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
437 Constant true Bool
438 Test <- Constant#437 -> block 39, block 38 None
1
0
Block 38 (split edge)
439 Constant magic optimized-out MagicOptimizedOut
440 Goto -> block 44 None
Block 39
441 Constant magic optimized-out MagicOptimizedOut
442 Box <- Unbox#346 Value
443 Unbox Box#442 to Object (fallible) Object
444 Box <- Phi#416 Value
445 Unbox Box#444 to Int32 (fallible) Int32
446 GuardShape <- Unbox#443 Object
447 Elements <- GuardShape#446 Elements
448 InitializedLength <- Elements#447 Int32
449 BoundsCheck <- Unbox#445, InitializedLength#448 Int32
450 SpectreMaskIndex <- BoundsCheck#449, InitializedLength#448 Int32
451 GuardElementsArePacked <- Elements#447 None
452 LoadElement <- Elements#447, SpectreMaskIndex#450 Value
453 Constant 0x3 Int32
454 Box <- Lambda#334 Value
455 Unbox Box#454 to Object (fallible) Object
456 GuardToFunction <- Unbox#455 Object
457 GuardFunctionScript <- GuardToFunction#456 Object
458 Goto -> block 40 None
Block 40
459 Constant undefined Undefined
460 Constant 0x32 Int32
461 Unbox LoadElement#452 to Double (fallible) Double
462 ToDouble <- Constant#460 Double
463 Compare <- Unbox#461, ToDouble#462 Gt Bool
464 Goto -> block 41 None
Block 41
465 Test <- Compare#463 -> block 43, block 42 None
1
0
Block 42 (split edge)
466 Goto -> block 44 None
Block 43
467 Box <- Phi#417 Value
468 Unbox Box#467 to Int32 (fallible) Int32
469 Constant 0x1 Int32
470 Add <- Unbox#468, Constant#469 [int32] Int32
471 Box <- NewArrayObject#405 Value
472 Unbox Box#471 to Object (fallible) Object
473 GuardShape <- Unbox#472 Object
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Unbox#468, LoadElement#452 None
476 Goto -> block 44 None
Block 44 (backedge)
477 Phi <- Add#470, Phi#417, Phi#417 Int32
478 Constant magic optimized-out MagicOptimizedOut
479 Box <- Phi#416 Value
480 Unbox Box#479 to Int32 (fallible) Int32
481 Constant 0x1 Int32
482 Add <- Unbox#480, Constant#481 [int32] Int32
483 Goto -> block 36 None
Block 45
484 Box <- NewArrayObject#405 Value
485 Unbox Box#484 to Object (fallible) Object
486 GuardShape <- Unbox#485 Object
487 Constant object 104289c3e088 (Array) Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
491 Constant 0x0 Int32
492 Constant 0x2 Int32
493 Constant function reduce (self-hosted:205) at 104289c479c0 Object
494 GuardSpecificFunction <- Constant#488, Constant#493 Object
495 Call <- GuardSpecificFunction#494, NewArrayObject#405, Lambda#490, Constant#491 Value
496 Goto -> block 46 None
Block 46
497 Constant object 104289c3f040 (LexicalEnvironment) Object
498 Constant object 104289c3e030 (global) Object
499 Constant function complex5 (-e:21) at 104289c6c900 Object
500 Constant undefined Undefined
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
506 GuardShape <- NewPlainObject#502 Object
507 PostWriteBarrier <- GuardShape#506, BitOr#134 None
508 StoreFixedSlot <- GuardShape#506, BitOr#134 (slot 1) None
509 GuardShape <- NewPlainObject#502 Object
510 PostWriteBarrier <- GuardShape#509, Call#143 None
511 StoreFixedSlot <- GuardShape#509, Call#143 (slot 2) None
512 Constant 0x1 Int32
513 Constant function complex5 (-e:21) at 104289c6c900 Object
514 GuardSpecificFunction <- Constant#499, Constant#513 Object
515 Goto -> block 47 None
Block 47
516 Constant undefined Undefined
517 FunctionEnvironment <- GuardSpecificFunction#514 Object
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- GuardSpecificFunction#514 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, GuardSpecificFunction#514 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
528 Constant object 104289c3f040 (LexicalEnvironment) Object
529 Constant object 104289c3e030 (global) Object
530 Constant function Object at 104289c422e0 Object
531 Constant function Object at 104289c422e0 Object
532 GuardObjectIdentity <- Constant#530, Constant#531 Object
533 Constant function keys at 104289c42468 Object
534 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
535 Constant 0x1 Int32
536 Constant function keys at 104289c42468 Object
537 GuardSpecificFunction <- Constant#533, Constant#536 Object
538 Unbox LoadFixedSlot#534 to Object (fallible) Object
539 GuardIsNotProxy <- Unbox#538 Object
540 ObjectKeys <- GuardIsNotProxy#539 Object
541 GuardShape <- ObjectKeys#540 Object
542 Constant object 104289c3e088 (Array) Object
543 Constant function map (self-hosted:163) at 104289c47920 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
546 Constant 0x1 Int32
547 Constant function map (self-hosted:163) at 104289c47920 Object
548 GuardSpecificFunction <- Constant#543, Constant#547 Object
549 Goto -> block 48 None
Block 48
550 Constant undefined Undefined
551 Constant function ToObject at 104289c6c740 Object
552 Box <- Constant#551 Value
553 DebugCheckSelfHosted <- Box#552 Value
554 Constant undefined Undefined
555 Constant 0x1 Int32
556 Constant function ToLength at 104289c6c778 Object
557 Box <- Constant#556 Value
558 DebugCheckSelfHosted <- Box#557 Value
559 Constant undefined Undefined
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 Int32
563 Constant 0x1 Int32
564 Constant 0x0 Int32
565 MinMax <- ArrayLength#562, Constant#564 (max) Int32
566 Constant 0x1 Int32
567 Constant 0x0 Int32
568 Compare <- Constant#566, Constant#567 StrictEq Bool
569 Test <- Compare#568 -> block 49, block 50 None
1
0
Block 49
570 CallGetIntrinsicValue Value
571 DebugCheckSelfHosted <- CallGetIntrinsicValue#570 Value
572 Constant undefined Undefined
573 Constant 0x37 Int32
574 Constant 0x0 Int32
575 Constant string 104289c2e080 String
576 Bail None
577 Unreachable None
Block 50
578 Constant function IsCallable at 104289c6c7b0 Object
579 Box <- Constant#578 Value
580 DebugCheckSelfHosted <- Box#579 Value
581 Constant undefined Undefined
582 Constant 0x1 Int32
583 IsCallable <- Lambda#545 Bool
584 Test <- IsCallable#583 -> block 52, block 51 None
1
0
Block 51
585 CallGetIntrinsicValue Value
586 DebugCheckSelfHosted <- CallGetIntrinsicValue#585 Value
587 Constant undefined Undefined
588 Constant 0xc Int32
589 CallGetIntrinsicValue Value
590 DebugCheckSelfHosted <- CallGetIntrinsicValue#589 Value
591 Constant undefined Undefined
592 Constant 0x0 Int32
593 Bail None
594 Unreachable None
Block 52
595 Constant 0x1 Int32
596 Constant 0x1 Int32
597 Compare <- Constant#595, Constant#596 Gt Bool
598 Test <- Compare#597 -> block 53, block 54 None
1
0
Block 53
599 Constant 0x1 Int32
600 GetInlinedArgument <- Constant#599, Lambda#545 Value
601 Goto -> block 55 None
Block 54
602 Constant undefined Undefined
603 Box <- Constant#602 Value
604 Goto -> block 55 None
Block 55
605 Phi <- Box#603, GetInlinedArgument#600 Value
606 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
607 Box <- Constant#606 Value
608 DebugCheckSelfHosted <- Box#607 Value
609 Constant undefined Undefined
610 Constant 0x1 Int32
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 56, block 57 None
1
0
Block 56
613 Constant function std_Array at 104289c6c820 Object
614 Box <- Constant#613 Value
615 DebugCheckSelfHosted <- Box#614 Value
616 Constant undefined Undefined
617 Constant 0x1 Int32
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
619 Constant function std_Array at 104289c6c820 Object
620 GuardSpecificFunction <- Unbox#618, Constant#619 Object
621 NewArrayDynamicLength <- MinMax#565 Object
622 Goto -> block 58 None
Block 57
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
625 Constant undefined Undefined
626 Bail None
627 Unreachable None
Block 58
628 Constant 0x0 Int32
629 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#628, Add#691 Int32
631 Constant magic optimized-out MagicOptimizedOut
632 InterruptCheck None
633 Box <- Phi#630 Value
634 Unbox Box#633 to Int32 (fallible) Int32
635 Box <- MinMax#565 Value
636 Unbox Box#635 to Int32 (fallible) Int32
637 Compare <- Unbox#634, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
639 Constant magic optimized-out MagicOptimizedOut
640 Box <- ObjectKeys#540 Value
641 Unbox Box#640 to Object (fallible) Object
642 Box <- Phi#630 Value
643 Unbox Box#642 to Int32 (fallible) Int32
644 GuardShape <- Unbox#641 Object
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 Int32
647 BoundsCheck <- Unbox#643, InitializedLength#646 Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
650 Constant true Bool
651 Test <- Constant#650 -> block 62, block 61 None
1
0
Block 61 (split edge)
652 Constant magic optimized-out MagicOptimizedOut
653 Goto -> block 65 None
Block 62
654 Constant magic optimized-out MagicOptimizedOut
655 Box <- ObjectKeys#540 Value
656 Unbox Box#655 to Object (fallible) Object
657 Box <- Phi#630 Value
658 Unbox Box#657 to Int32 (fallible) Int32
659 GuardShape <- Unbox#656 Object
660 Elements <- GuardShape#659 Elements
661 InitializedLength <- Elements#660 Int32
662 BoundsCheck <- Unbox#658, InitializedLength#661 Int32
663 SpectreMaskIndex <- BoundsCheck#662, InitializedLength#661 Int32
664 GuardElementsArePacked <- Elements#660 None
665 LoadElement <- Elements#660, SpectreMaskIndex#663 Value
666 Constant 0x3 Int32
667 Box <- Lambda#545 Value
668 Unbox Box#667 to Object (fallible) Object
669 GuardToFunction <- Unbox#668 Object
670 GuardFunctionScript <- GuardToFunction#669 Object
671 Goto -> block 63 None
Block 63
672 Constant undefined Undefined
673 FunctionEnvironment <- GuardFunctionScript#670 Object
674 LoadFixedSlot <- FunctionEnvironment#673 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 64 None
Block 64
678 Constant magic optimized-out MagicOptimizedOut
679 Box <- NewArrayDynamicLength#621 Value
680 Unbox Box#679 to Object (fallible) Object
681 Box <- Phi#630 Value
682 Unbox Box#681 to Int32 (fallible) Int32
683 GuardShape <- Unbox#680 Object
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Unbox#682, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 65 None
Block 65 (backedge)
687 Constant magic optimized-out MagicOptimizedOut
688 Box <- Phi#630 Value
689 Unbox Box#688 to Int32 (fallible) Int32
690 Constant 0x1 Int32
691 Add <- Unbox#689, Constant#690 [int32] Int32
692 Goto -> block 59 None
Block 66
693 Box <- NewArrayDynamicLength#621 Value
694 Unbox Box#693 to Object (fallible) Object
695 GuardShape <- Unbox#694 Object
696 Constant object 104289c3e088 (Array) Object
697 Constant function reduce (self-hosted:205) at 104289c479c0 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
700 Constant 0x0 Int32
701 Constant 0x2 Int32
702 Constant function reduce (self-hosted:205) at 104289c479c0 Object
703 GuardSpecificFunction <- Constant#697, Constant#702 Object
704 Call <- GuardSpecificFunction#703, NewArrayDynamicLength#621, Lambda#699, Constant#700 Value
705 Goto -> block 67 None
Block 67 (backedge)
706 Box <- Phi#90 Value
707 Unbox Box#706 to Int32 (fallible) Int32
708 Constant 0x1 Int32
709 Add <- Unbox#707, Constant#708 [int32] Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 68
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
804 Constant magic optimized-out MagicOptimizedOut
803 Constant magic optimized-out MagicOptimizedOut
802 Constant magic optimized-out MagicOptimizedOut
801 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant object 104289c3f040 (LexicalEnvironment) Object
7 Constant object 104289c3e030 (global) Object
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
9 Constant undefined Undefined
10 Constant 0x1 Int32
11 Constant function complex1 (-e:2) at 104289c6c8c8 Object
12 GuardSpecificFunction <- Constant#8, Constant#11 Object
13 Call <- GuardSpecificFunction#12, Constant#9, Parameter#1 Value
14 Constant object 104289c3f040 (LexicalEnvironment) Object
15 Constant object 104289c3e030 (global) Object
16 Constant function complex2 (-e:7) at 104289c6c970 Object
17 Constant undefined Undefined
18 Constant 0x1 Int32
19 Constant function complex2 (-e:7) at 104289c6c970 Object
20 GuardSpecificFunction <- Constant#16, Constant#19 Object
21 Call <- GuardSpecificFunction#20, Constant#17, Parameter#1 Value
22 Constant object 104289c3f040 (LexicalEnvironment) Object
23 Constant object 104289c3e030 (global) Object
24 Constant function complex3 (-e:11) at 104289c6c938 Object
25 Constant undefined Undefined
26 Constant 0x2 Int32
27 Constant function complex3 (-e:11) at 104289c6c938 Object
28 GuardSpecificFunction <- Constant#24, Constant#27 Object
29 Call <- GuardSpecificFunction#28, Constant#25, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
52 Constant object 104289c3f040 (LexicalEnvironment) Object
53 Constant object 104289c3e030 (global) Object
54 Constant function complex4 (-e:17) at 104289c6c890 Object
55 Constant undefined Undefined
56 Constant 0x1 Int32
57 Constant function complex4 (-e:17) at 104289c6c890 Object
58 GuardSpecificFunction <- Constant#54, Constant#57 Object
59 Call <- GuardSpecificFunction#58, Constant#55, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
65 GuardShape <- NewPlainObject#61 Object
66 PostWriteBarrier <- GuardShape#65, Call#21 None
67 StoreFixedSlot <- GuardShape#65, Call#21 (slot 1) None
68 GuardShape <- NewPlainObject#61 Object
69 PostWriteBarrier <- GuardShape#68, Call#29 None
70 StoreFixedSlot <- GuardShape#68, Call#29 (slot 2) None
71 GuardShape <- NewPlainObject#61 Object
72 PostWriteBarrier <- GuardShape#71, Call#59 None
73 StoreFixedSlot <- GuardShape#71, Call#59 (slot 3) None
74 Constant object 104289c3f040 (LexicalEnvironment) Object
75 Constant object 104289c3e030 (global) Object
76 Constant function complex5 (-e:21) at 104289c6c900 Object
77 Constant undefined Undefined
78 Constant 0x1 Int32
79 Constant function complex5 (-e:21) at 104289c6c900 Object
80 GuardSpecificFunction <- Constant#76, Constant#79 Object
81 Call <- GuardSpecificFunction#80, Constant#77, NewPlainObject#61 Value
82 Constant magic uninitialized-lexical MagicUninitializedLexical
83 Constant 0x0 Int32
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#83, Add#709 Int32
91 InterruptCheck None
92 Constant 0xa Int32
93 Box <- Phi#90 Value
94 Unbox Box#93 to Int32 (fallible) Int32
95 Compare <- Unbox#94, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 68 None
1
0
Block 2
97 Constant object 104289c3f040 (LexicalEnvironment) Object
98 Constant object 104289c3e030 (global) Object
99 Constant function complex1 (-e:2) at 104289c6c8c8 Object
100 Constant undefined Undefined
101 Unbox Phi#85 to Double (fallible) Double
102 Box <- Phi#90 Value
103 Unbox Box#102 to Double (fallible) Double
104 Add <- Unbox#101, Unbox#103 [double] Double
105 Constant 0x1 Int32
106 Constant function complex1 (-e:2) at 104289c6c8c8 Object
107 GuardSpecificFunction <- Constant#99, Constant#106 Object
108 Call <- GuardSpecificFunction#107, Constant#100, Add#104 Value
109 Constant object 104289c3f040 (LexicalEnvironment) Object
110 Constant object 104289c3e030 (global) Object
111 Constant function complex2 (-e:7) at 104289c6c970 Object
112 Constant undefined Undefined
113 Unbox Phi#86 to Int32 (fallible) Int32
114 Box <- Phi#90 Value
115 Unbox Box#114 to Int32 (fallible) Int32
116 Add <- Unbox#113, Unbox#115 [int32] Int32
117 Constant 0x1 Int32
118 Constant function complex2 (-e:7) at 104289c6c970 Object
119 GuardSpecificFunction <- Constant#111, Constant#118 Object
120 Goto -> block 3 None
Block 3
121 Constant undefined Undefined
122 Constant 0x1 Int32
123 Lsh <- Add#116, Constant#122 Int32
124 Constant 0x1 Int32
125 Rsh <- Add#116, Constant#124 Int32
126 Constant 0xff Int32
127 BitAnd <- Add#116, Constant#126 Int32
128 Constant 0x2 Int32
129 Ursh <- Add#116, Constant#128 Int32
130 Add <- BitAnd#127, Ursh#129 [int32] Int32
131 BitNot <- Add#116 Int32
132 Sub <- Add#130, BitNot#131 [int32] Int32
133 BitXor <- Rsh#125, Sub#132 Int32
134 BitOr <- Lsh#123, BitXor#133 Int32
135 Goto -> block 4 None
Block 4
136 Constant object 104289c3f040 (LexicalEnvironment) Object
137 Constant object 104289c3e030 (global) Object
138 Constant function complex3 (-e:11) at 104289c6c938 Object
139 Constant undefined Undefined
140 Constant 0x2 Int32
141 Constant function complex3 (-e:11) at 104289c6c938 Object
142 GuardSpecificFunction <- Constant#138, Constant#141 Object
143 Call <- GuardSpecificFunction#142, Constant#139, Phi#87, Call#108 Value
144 Constant object 104289c3f040 (LexicalEnvironment) Object
145 Constant object 104289c3e030 (global) Object
146 Constant function complex4 (-e:17) at 104289c6c890 Object
147 Constant undefined Undefined
148 Constant shape at 104289c64f00 Shape
149 NewArrayObject <- Constant#148 Object
150 Constant 0x0 Int32
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#150, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#150 None
155 Constant 0x1 Int32
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#155, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#155 None
160 Constant 0x2 Int32
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#160, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#160 None
165 Constant 0x3 Int32
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#165, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#165 None
170 Constant 0x1 Int32
171 Constant function complex4 (-e:17) at 104289c6c890 Object
172 GuardSpecificFunction <- Constant#146, Constant#171 Object
173 Goto -> block 5 None
Block 5
174 Constant undefined Undefined
175 FunctionEnvironment <- GuardSpecificFunction#172 Object
176 GuardShape <- NewArrayObject#149 Object
177 Constant object 104289c3e088 (Array) Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
181 Constant 0x1 Int32
182 Constant function map (self-hosted:163) at 104289c47920 Object
183 GuardSpecificFunction <- Constant#178, Constant#182 Object
184 Goto -> block 6 None
Block 6
185 Constant undefined Undefined
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
189 Constant undefined Undefined
190 Constant 0x1 Int32
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
194 Constant undefined Undefined
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 Int32
198 Constant 0x1 Int32
199 Constant 0x0 Int32
200 MinMax <- ArrayLength#197, Constant#199 (max) Int32
201 Constant 0x1 Int32
202 Constant 0x0 Int32
203 Compare <- Constant#201, Constant#202 StrictEq Bool
204 Test <- Compare#203 -> block 7, block 8 None
1
0
Block 7
205 CallGetIntrinsicValue Value
206 DebugCheckSelfHosted <- CallGetIntrinsicValue#205 Value
207 Constant undefined Undefined
208 Constant 0x37 Int32
209 Constant 0x0 Int32
210 Constant string 104289c2e080 String
211 Bail None
212 Unreachable None
Block 8
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
216 Constant undefined Undefined
217 Constant 0x1 Int32
218 IsCallable <- Lambda#180 Bool
219 Test <- IsCallable#218 -> block 10, block 9 None
1
0
Block 9
220 CallGetIntrinsicValue Value
221 DebugCheckSelfHosted <- CallGetIntrinsicValue#220 Value
222 Constant undefined Undefined
223 Constant 0xc Int32
224 CallGetIntrinsicValue Value
225 DebugCheckSelfHosted <- CallGetIntrinsicValue#224 Value
226 Constant undefined Undefined
227 Constant 0x0 Int32
228 Bail None
229 Unreachable None
Block 10
230 Constant 0x1 Int32
231 Constant 0x1 Int32
232 Compare <- Constant#230, Constant#231 Gt Bool
233 Test <- Compare#232 -> block 11, block 12 None
1
0
Block 11
234 Constant 0x1 Int32
235 GetInlinedArgument <- Constant#234, Lambda#180 Value
236 Goto -> block 13 None
Block 12
237 Constant undefined Undefined
238 Box <- Constant#237 Value
239 Goto -> block 13 None
Block 13
240 Phi <- Box#238, GetInlinedArgument#235 Value
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
244 Constant undefined Undefined
245 Constant 0x1 Int32
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 14, block 15 None
1
0
Block 14
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
251 Constant undefined Undefined
252 Constant 0x1 Int32
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
254 Constant function std_Array at 104289c6c820 Object
255 GuardSpecificFunction <- Unbox#253, Constant#254 Object
256 NewArrayDynamicLength <- MinMax#200 Object
257 Goto -> block 16 None
Block 15
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
260 Constant undefined Undefined
261 Bail None
262 Unreachable None
Block 16
263 Constant 0x0 Int32
264 Goto -> block 17 None
Block 17 (loop header)
265 Phi <- Constant#263, Add#326 Int32
266 Constant magic optimized-out MagicOptimizedOut
267 InterruptCheck None
268 Box <- Phi#265 Value
269 Unbox Box#268 to Int32 (fallible) Int32
270 Box <- MinMax#200 Value
271 Unbox Box#270 to Int32 (fallible) Int32
272 Compare <- Unbox#269, Unbox#271 Lt Bool
273 Test <- Compare#272 -> block 18, block 24 None
1
0
Block 18
274 Constant magic optimized-out MagicOptimizedOut
275 Box <- NewArrayObject#149 Value
276 Unbox Box#275 to Object (fallible) Object
277 Box <- Phi#265 Value
278 Unbox Box#277 to Int32 (fallible) Int32
279 GuardShape <- Unbox#276 Object
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Unbox#278, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
285 Constant true Bool
286 Test <- Constant#285 -> block 20, block 19 None
1
0
Block 19 (split edge)
287 Constant magic optimized-out MagicOptimizedOut
288 Goto -> block 23 None
Block 20
289 Constant magic optimized-out MagicOptimizedOut
290 Box <- NewArrayObject#149 Value
291 Unbox Box#290 to Object (fallible) Object
292 Box <- Phi#265 Value
293 Unbox Box#292 to Int32 (fallible) Int32
294 GuardShape <- Unbox#291 Object
295 Elements <- GuardShape#294 Elements
296 InitializedLength <- Elements#295 Int32
297 BoundsCheck <- Unbox#293, InitializedLength#296 Int32
298 SpectreMaskIndex <- BoundsCheck#297, InitializedLength#296 Int32
299 GuardElementsArePacked <- Elements#295 None
300 LoadElement <- Elements#295, SpectreMaskIndex#298 Value
301 Constant 0x3 Int32
302 Box <- Lambda#180 Value
303 Unbox Box#302 to Object (fallible) Object
304 GuardToFunction <- Unbox#303 Object
305 GuardFunctionScript <- GuardToFunction#304 Object
306 Goto -> block 21 None
Block 21
307 Constant undefined Undefined
308 Constant 0x2 Int32
309 Unbox LoadElement#300 to Double (fallible) Double
310 ToDouble <- Constant#308 Double
311 Mul <- Unbox#309, ToDouble#310 [double] Double
312 Goto -> block 22 None
Block 22
313 Constant magic optimized-out MagicOptimizedOut
314 Box <- NewArrayDynamicLength#256 Value
315 Unbox Box#314 to Object (fallible) Object
316 Box <- Phi#265 Value
317 Unbox Box#316 to Int32 (fallible) Int32
318 GuardShape <- Unbox#315 Object
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Unbox#317, Mul#311 None
321 Goto -> block 23 None
Block 23 (backedge)
322 Constant magic optimized-out MagicOptimizedOut
323 Box <- Phi#265 Value
324 Unbox Box#323 to Int32 (fallible) Int32
325 Constant 0x1 Int32
326 Add <- Unbox#324, Constant#325 [int32] Int32
327 Goto -> block 17 None
Block 24
328 Box <- NewArrayDynamicLength#256 Value
329 Unbox Box#328 to Object (fallible) Object
330 GuardShape <- Unbox#329 Object
331 Constant object 104289c3e088 (Array) Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
335 Constant 0x1 Int32
336 Constant function filter (self-hosted:183) at 104289c47970 Object
337 GuardSpecificFunction <- Constant#332, Constant#336 Object
338 Goto -> block 25 None
Block 25
339 Constant undefined Undefined
340 Constant function ToObject at 104289c6c740 Object
341 Box <- Constant#340 Value
342 DebugCheckSelfHosted <- Box#341 Value
343 Constant undefined Undefined
344 Constant 0x1 Int32
345 Box <- NewArrayDynamicLength#256 Value
346 Unbox Box#345 to Object (fallible) Object
347 Constant function ToLength at 104289c6c778 Object
348 Box <- Constant#347 Value
349 DebugCheckSelfHosted <- Box#348 Value
350 Constant undefined Undefined
351 GuardShape <- Unbox#346 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 Int32
354 Constant 0x1 Int32
355 Constant 0x0 Int32
356 MinMax <- ArrayLength#353, Constant#355 (max) Int32
357 Constant 0x1 Int32
358 Constant 0x0 Int32
359 Compare <- Constant#357, Constant#358 StrictEq Bool
360 Test <- Compare#359 -> block 26, block 27 None
1
0
Block 26
361 CallGetIntrinsicValue Value
362 DebugCheckSelfHosted <- CallGetIntrinsicValue#361 Value
363 Constant undefined Undefined
364 Constant 0x37 Int32
365 Constant 0x0 Int32
366 Constant string 104289c28540 String
367 Bail None
368 Unreachable None
Block 27
369 Constant function IsCallable at 104289c6c7b0 Object
370 Box <- Constant#369 Value
371 DebugCheckSelfHosted <- Box#370 Value
372 Constant undefined Undefined
373 Constant 0x1 Int32
374 IsCallable <- Lambda#334 Bool
375 Test <- IsCallable#374 -> block 29, block 28 None
1
0
Block 28
376 CallGetIntrinsicValue Value
377 DebugCheckSelfHosted <- CallGetIntrinsicValue#376 Value
378 Constant undefined Undefined
379 Constant 0xc Int32
380 CallGetIntrinsicValue Value
381 DebugCheckSelfHosted <- CallGetIntrinsicValue#380 Value
382 Constant undefined Undefined
383 Constant 0x0 Int32
384 Bail None
385 Unreachable None
Block 29
386 Constant 0x1 Int32
387 Constant 0x1 Int32
388 Compare <- Constant#386, Constant#387 Gt Bool
389 Test <- Compare#388 -> block 30, block 31 None
1
0
Block 30
390 Constant 0x1 Int32
391 GetInlinedArgument <- Constant#390, Lambda#334 Value
392 Goto -> block 32 None
Block 31
393 Constant undefined Undefined
394 Box <- Constant#393 Value
395 Goto -> block 32 None
Block 32
396 Phi <- Box#394, GetInlinedArgument#391 Value
397 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
398 Box <- Constant#397 Value
399 DebugCheckSelfHosted <- Box#398 Value
400 Constant undefined Undefined
401 Constant 0x1 Int32
402 HasShape <- Unbox#346 Bool
403 Test <- HasShape#402 -> block 33, block 34 None
1
0
Block 33
404 Constant shape at 104289c64f00 Shape
405 NewArrayObject <- Constant#404 Object
406 Goto -> block 35 None
Block 34
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
409 Constant undefined Undefined
410 Constant 0x0 Int32
411 Bail None
412 Unreachable None
Block 35
413 Constant 0x0 Int32
414 Constant 0x0 Int32
415 Goto -> block 36 None
Block 36 (loop header)
416 Phi <- Constant#413, Add#482 Int32
417 Phi <- Constant#414, Phi#477 Int32
418 Constant magic optimized-out MagicOptimizedOut
419 InterruptCheck None
420 Box <- Phi#416 Value
421 Unbox Box#420 to Int32 (fallible) Int32
422 Box <- MinMax#356 Value
423 Unbox Box#422 to Int32 (fallible) Int32
424 Compare <- Unbox#421, Unbox#423 Lt Bool
425 Test <- Compare#424 -> block 37, block 45 None
1
0
Block 37
426 Constant magic optimized-out MagicOptimizedOut
427 Box <- Unbox#346 Value
428 Unbox Box#427 to Object (fallible) Object
429 Box <- Phi#416 Value
430 Unbox Box#429 to Int32 (fallible) Int32
431 GuardShape <- Unbox#428 Object
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 Int32
434 BoundsCheck <- Unbox#430, InitializedLength#433 Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
437 Constant true Bool
438 Test <- Constant#437 -> block 39, block 38 None
1
0
Block 38 (split edge)
439 Constant magic optimized-out MagicOptimizedOut
440 Goto -> block 44 None
Block 39
441 Constant magic optimized-out MagicOptimizedOut
442 Box <- Unbox#346 Value
443 Unbox Box#442 to Object (fallible) Object
444 Box <- Phi#416 Value
445 Unbox Box#444 to Int32 (fallible) Int32
446 GuardShape <- Unbox#443 Object
447 Elements <- GuardShape#446 Elements
448 InitializedLength <- Elements#447 Int32
449 BoundsCheck <- Unbox#445, InitializedLength#448 Int32
450 SpectreMaskIndex <- BoundsCheck#449, InitializedLength#448 Int32
451 GuardElementsArePacked <- Elements#447 None
452 LoadElement <- Elements#447, SpectreMaskIndex#450 Value
453 Constant 0x3 Int32
454 Box <- Lambda#334 Value
455 Unbox Box#454 to Object (fallible) Object
456 GuardToFunction <- Unbox#455 Object
457 GuardFunctionScript <- GuardToFunction#456 Object
458 Goto -> block 40 None
Block 40
459 Constant undefined Undefined
460 Constant 0x32 Int32
461 Unbox LoadElement#452 to Double (fallible) Double
462 ToDouble <- Constant#460 Double
463 Compare <- Unbox#461, ToDouble#462 Gt Bool
464 Goto -> block 41 None
Block 41
465 Test <- Compare#463 -> block 43, block 42 None
1
0
Block 42 (split edge)
466 Goto -> block 44 None
Block 43
467 Box <- Phi#417 Value
468 Unbox Box#467 to Int32 (fallible) Int32
469 Constant 0x1 Int32
470 Add <- Unbox#468, Constant#469 [int32] Int32
471 Box <- NewArrayObject#405 Value
472 Unbox Box#471 to Object (fallible) Object
473 GuardShape <- Unbox#472 Object
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Unbox#468, LoadElement#452 None
476 Goto -> block 44 None
Block 44 (backedge)
477 Phi <- Add#470, Phi#417, Phi#417 Int32
478 Constant magic optimized-out MagicOptimizedOut
479 Box <- Phi#416 Value
480 Unbox Box#479 to Int32 (fallible) Int32
481 Constant 0x1 Int32
482 Add <- Unbox#480, Constant#481 [int32] Int32
483 Goto -> block 36 None
Block 45
484 Box <- NewArrayObject#405 Value
485 Unbox Box#484 to Object (fallible) Object
486 GuardShape <- Unbox#485 Object
487 Constant object 104289c3e088 (Array) Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
491 Constant 0x0 Int32
492 Constant 0x2 Int32
493 Constant function reduce (self-hosted:205) at 104289c479c0 Object
494 GuardSpecificFunction <- Constant#488, Constant#493 Object
495 Call <- GuardSpecificFunction#494, NewArrayObject#405, Lambda#490, Constant#491 Value
496 Goto -> block 46 None
Block 46
497 Constant object 104289c3f040 (LexicalEnvironment) Object
498 Constant object 104289c3e030 (global) Object
499 Constant function complex5 (-e:21) at 104289c6c900 Object
500 Constant undefined Undefined
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
506 GuardShape <- NewPlainObject#502 Object
507 PostWriteBarrier <- GuardShape#506, BitOr#134 None
508 StoreFixedSlot <- GuardShape#506, BitOr#134 (slot 1) None
509 GuardShape <- NewPlainObject#502 Object
510 PostWriteBarrier <- GuardShape#509, Call#143 None
511 StoreFixedSlot <- GuardShape#509, Call#143 (slot 2) None
512 Constant 0x1 Int32
513 Constant function complex5 (-e:21) at 104289c6c900 Object
514 GuardSpecificFunction <- Constant#499, Constant#513 Object
515 Goto -> block 47 None
Block 47
516 Constant undefined Undefined
517 FunctionEnvironment <- GuardSpecificFunction#514 Object
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- GuardSpecificFunction#514 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, GuardSpecificFunction#514 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
528 Constant object 104289c3f040 (LexicalEnvironment) Object
529 Constant object 104289c3e030 (global) Object
530 Constant function Object at 104289c422e0 Object
531 Constant function Object at 104289c422e0 Object
532 GuardObjectIdentity <- Constant#530, Constant#531 Object
533 Constant function keys at 104289c42468 Object
534 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
535 Constant 0x1 Int32
536 Constant function keys at 104289c42468 Object
537 GuardSpecificFunction <- Constant#533, Constant#536 Object
538 Unbox LoadFixedSlot#534 to Object (fallible) Object
539 GuardIsNotProxy <- Unbox#538 Object
540 ObjectKeys <- GuardIsNotProxy#539 Object
541 GuardShape <- ObjectKeys#540 Object
542 Constant object 104289c3e088 (Array) Object
543 Constant function map (self-hosted:163) at 104289c47920 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
546 Constant 0x1 Int32
547 Constant function map (self-hosted:163) at 104289c47920 Object
548 GuardSpecificFunction <- Constant#543, Constant#547 Object
549 Goto -> block 48 None
Block 48
550 Constant undefined Undefined
551 Constant function ToObject at 104289c6c740 Object
552 Box <- Constant#551 Value
553 DebugCheckSelfHosted <- Box#552 Value
554 Constant undefined Undefined
555 Constant 0x1 Int32
556 Constant function ToLength at 104289c6c778 Object
557 Box <- Constant#556 Value
558 DebugCheckSelfHosted <- Box#557 Value
559 Constant undefined Undefined
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 Int32
563 Constant 0x1 Int32
564 Constant 0x0 Int32
565 MinMax <- ArrayLength#562, Constant#564 (max) Int32
566 Constant 0x1 Int32
567 Constant 0x0 Int32
568 Compare <- Constant#566, Constant#567 StrictEq Bool
569 Test <- Compare#568 -> block 49, block 50 None
1
0
Block 49
570 CallGetIntrinsicValue Value
571 DebugCheckSelfHosted <- CallGetIntrinsicValue#570 Value
572 Constant undefined Undefined
573 Constant 0x37 Int32
574 Constant 0x0 Int32
575 Constant string 104289c2e080 String
576 Bail None
577 Unreachable None
Block 50
578 Constant function IsCallable at 104289c6c7b0 Object
579 Box <- Constant#578 Value
580 DebugCheckSelfHosted <- Box#579 Value
581 Constant undefined Undefined
582 Constant 0x1 Int32
583 IsCallable <- Lambda#545 Bool
584 Test <- IsCallable#583 -> block 52, block 51 None
1
0
Block 51
585 CallGetIntrinsicValue Value
586 DebugCheckSelfHosted <- CallGetIntrinsicValue#585 Value
587 Constant undefined Undefined
588 Constant 0xc Int32
589 CallGetIntrinsicValue Value
590 DebugCheckSelfHosted <- CallGetIntrinsicValue#589 Value
591 Constant undefined Undefined
592 Constant 0x0 Int32
593 Bail None
594 Unreachable None
Block 52
595 Constant 0x1 Int32
596 Constant 0x1 Int32
597 Compare <- Constant#595, Constant#596 Gt Bool
598 Test <- Compare#597 -> block 53, block 54 None
1
0
Block 53
599 Constant 0x1 Int32
600 GetInlinedArgument <- Constant#599, Lambda#545 Value
601 Goto -> block 55 None
Block 54
602 Constant undefined Undefined
603 Box <- Constant#602 Value
604 Goto -> block 55 None
Block 55
605 Phi <- Box#603, GetInlinedArgument#600 Value
606 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
607 Box <- Constant#606 Value
608 DebugCheckSelfHosted <- Box#607 Value
609 Constant undefined Undefined
610 Constant 0x1 Int32
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 56, block 57 None
1
0
Block 56
613 Constant function std_Array at 104289c6c820 Object
614 Box <- Constant#613 Value
615 DebugCheckSelfHosted <- Box#614 Value
616 Constant undefined Undefined
617 Constant 0x1 Int32
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
619 Constant function std_Array at 104289c6c820 Object
620 GuardSpecificFunction <- Unbox#618, Constant#619 Object
621 NewArrayDynamicLength <- MinMax#565 Object
622 Goto -> block 58 None
Block 57
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
625 Constant undefined Undefined
626 Bail None
627 Unreachable None
Block 58
628 Constant 0x0 Int32
629 Goto -> block 59 None
Block 59 (loop header)
630 Phi <- Constant#628, Add#691 Int32
631 Constant magic optimized-out MagicOptimizedOut
632 InterruptCheck None
633 Box <- Phi#630 Value
634 Unbox Box#633 to Int32 (fallible) Int32
635 Box <- MinMax#565 Value
636 Unbox Box#635 to Int32 (fallible) Int32
637 Compare <- Unbox#634, Unbox#636 Lt Bool
638 Test <- Compare#637 -> block 60, block 66 None
1
0
Block 60
639 Constant magic optimized-out MagicOptimizedOut
640 Box <- ObjectKeys#540 Value
641 Unbox Box#640 to Object (fallible) Object
642 Box <- Phi#630 Value
643 Unbox Box#642 to Int32 (fallible) Int32
644 GuardShape <- Unbox#641 Object
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 Int32
647 BoundsCheck <- Unbox#643, InitializedLength#646 Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
650 Constant true Bool
651 Test <- Constant#650 -> block 62, block 61 None
1
0
Block 61 (split edge)
652 Constant magic optimized-out MagicOptimizedOut
653 Goto -> block 65 None
Block 62
654 Constant magic optimized-out MagicOptimizedOut
655 Box <- ObjectKeys#540 Value
656 Unbox Box#655 to Object (fallible) Object
657 Box <- Phi#630 Value
658 Unbox Box#657 to Int32 (fallible) Int32
659 GuardShape <- Unbox#656 Object
660 Elements <- GuardShape#659 Elements
661 InitializedLength <- Elements#660 Int32
662 BoundsCheck <- Unbox#658, InitializedLength#661 Int32
663 SpectreMaskIndex <- BoundsCheck#662, InitializedLength#661 Int32
664 GuardElementsArePacked <- Elements#660 None
665 LoadElement <- Elements#660, SpectreMaskIndex#663 Value
666 Constant 0x3 Int32
667 Box <- Lambda#545 Value
668 Unbox Box#667 to Object (fallible) Object
669 GuardToFunction <- Unbox#668 Object
670 GuardFunctionScript <- GuardToFunction#669 Object
671 Goto -> block 63 None
Block 63
672 Constant undefined Undefined
673 FunctionEnvironment <- GuardFunctionScript#670 Object
674 LoadFixedSlot <- FunctionEnvironment#673 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 64 None
Block 64
678 Constant magic optimized-out MagicOptimizedOut
679 Box <- NewArrayDynamicLength#621 Value
680 Unbox Box#679 to Object (fallible) Object
681 Box <- Phi#630 Value
682 Unbox Box#681 to Int32 (fallible) Int32
683 GuardShape <- Unbox#680 Object
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Unbox#682, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 65 None
Block 65 (backedge)
687 Constant magic optimized-out MagicOptimizedOut
688 Box <- Phi#630 Value
689 Unbox Box#688 to Int32 (fallible) Int32
690 Constant 0x1 Int32
691 Add <- Unbox#689, Constant#690 [int32] Int32
692 Goto -> block 59 None
Block 66
693 Box <- NewArrayDynamicLength#621 Value
694 Unbox Box#693 to Object (fallible) Object
695 GuardShape <- Unbox#694 Object
696 Constant object 104289c3e088 (Array) Object
697 Constant function reduce (self-hosted:205) at 104289c479c0 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
700 Constant 0x0 Int32
701 Constant 0x2 Int32
702 Constant function reduce (self-hosted:205) at 104289c479c0 Object
703 GuardSpecificFunction <- Constant#697, Constant#702 Object
704 Call <- GuardSpecificFunction#703, NewArrayDynamicLength#621, Lambda#699, Constant#700 Value
705 Goto -> block 67 None
Block 67 (backedge)
706 Box <- Phi#90 Value
707 Unbox Box#706 to Int32 (fallible) Int32
708 Constant 0x1 Int32
709 Add <- Unbox#707, Constant#708 [int32] Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 68
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 Int32
91 InterruptCheck None
92 Constant 0xa Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 Double
104 Add <- Unbox#101, ToDouble#806 [double] Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 Int32
125 Rsh <- Add#116, Constant#37 Int32
126 Constant 0xff Int32
127 BitAnd <- Add#116, Constant#126 Int32
129 Ursh <- Add#116, Constant#42 Int32
130 Add <- BitAnd#127, Ursh#129 [int32] Int32
131 BitNot <- Add#116 Int32
132 Sub <- Add#130, BitNot#131 [int32] Int32
133 BitXor <- Rsh#125, Sub#132 Int32
134 BitOr <- Lsh#123, BitXor#133 Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
175 FunctionEnvironment <- Constant#54 Object
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
279 GuardShape <- NewArrayObject#149 Object
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
816 Constant 2 Double
311 Mul <- Unbox#309, Constant#816 [double] Double
312 Goto -> block 18 None
Block 18
318 GuardShape <- NewArrayDynamicLength#256 Object
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
431 GuardShape <- NewArrayDynamicLength#256 Object
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
826 Constant 50 Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] Int32
473 GuardShape <- NewArrayObject#405 Object
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
517 FunctionEnvironment <- Constant#76 Object
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
644 GuardShape <- ObjectKeys#540 Object
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
683 GuardShape <- NewArrayDynamicLength#621 Object
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 Int32
91 InterruptCheck None
92 Constant 0xa Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 Double
104 Add <- Unbox#101, ToDouble#806 [double] Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 Int32
125 Rsh <- Add#116, Constant#37 Int32
126 Constant 0xff Int32
127 BitAnd <- Add#116, Constant#126 Int32
129 Ursh <- Add#116, Constant#42 Int32
130 Add <- BitAnd#127, Ursh#129 [int32] Int32
131 BitNot <- Add#116 Int32
132 Sub <- Add#130, BitNot#131 [int32] Int32
133 BitXor <- Rsh#125, Sub#132 Int32
134 BitOr <- Lsh#123, BitXor#133 Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 Int32
91 InterruptCheck None
92 Constant 0xa Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
847 Beta <- Phi#90 F[?, 9] (U -Infinity U -0) Int32
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Beta#847 Double
104 Add <- Unbox#101, ToDouble#806 [double] Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Beta#847 [int32] Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 Int32
125 Rsh <- Add#116, Constant#37 Int32
126 Constant 0xff Int32
127 BitAnd <- Add#116, Constant#126 Int32
129 Ursh <- Add#116, Constant#42 Int32
130 Add <- BitAnd#127, Ursh#129 [int32] Int32
131 BitNot <- Add#116 Int32
132 Sub <- Add#130, BitNot#131 [int32] Int32
133 BitXor <- Rsh#125, Sub#132 Int32
134 BitOr <- Lsh#123, BitXor#133 Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Beta#847 None
168 StoreElement <- Elements#166, Constant#47, Beta#847 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
846 Beta <- ArrayLength#197 I[-2147483647, 2147483647] Int32
845 Beta <- Phi#265 I[-2147483648, 2147483646] Int32
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 Int32
282 BoundsCheck <- Beta#845, InitializedLength#281 Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Beta#845, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Beta#845, Constant#37 [int32] Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
844 Beta <- ArrayLength#353 I[-2147483647, 2147483647] Int32
843 Beta <- Phi#416 I[-2147483648, 2147483646] Int32
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 Int32
434 BoundsCheck <- Beta#843, InitializedLength#433 Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
842 Beta <- Unbox#461 F[?, 50] (U NaN U -Infinity U -0) Double
466 Goto -> block 36 None
Block 35
841 Beta <- Unbox#461 F[50, ?] (U Infinity) Double
470 Add <- Phi#417, Constant#37 [int32] Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Beta#843, Constant#37 [int32] Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
840 Beta <- ArrayLength#562 I[-2147483647, 2147483647] Int32
839 Beta <- Phi#630 I[-2147483648, 2147483646] Int32
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 Int32
647 BoundsCheck <- Beta#839, InitializedLength#646 Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Beta#839, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Beta#839, Constant#37 [int32] Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Beta#847, Constant#37 [int32] Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
838 Beta <- Phi#90 F[10, ?] (U NaN U Infinity) Int32
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
847 Beta <- Phi#90 F[?, 9] (U -Infinity U -0) I[0, 9] (U -0): Int32
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Beta#847 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Beta#847 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Beta#847 None
168 StoreElement <- Elements#166, Constant#47, Beta#847 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
846 Beta <- ArrayLength#197 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
845 Beta <- Phi#265 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Beta#845, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Beta#845, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Beta#845, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
844 Beta <- ArrayLength#353 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
843 Beta <- Phi#416 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Beta#843, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
842 Beta <- Unbox#461 F[?, 50] (U NaN U -Infinity U -0) F[?, 50] (U NaN U -Infinity U -0): Double
466 Goto -> block 36 None
Block 35
841 Beta <- Unbox#461 F[50, ?] (U Infinity) F[50, ?] (U Infinity): Double
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Beta#843, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
840 Beta <- ArrayLength#562 I[-2147483647, 2147483647] I[0, 2147483647]: Int32
839 Beta <- Phi#630 I[-2147483648, 2147483646] I[0, 2147483646]: Int32
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Beta#839, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Beta#839, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Beta#839, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Beta#847, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
838 Beta <- Phi#90 F[10, ?] (U NaN U Infinity) I[10, 2147483647]: Int32
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t)
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t)
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t)
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t)
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
805 Constant magic optimized-out MagicOptimizedOut
0 Parameter THIS_SLOT Value
1 Parameter 0 Value
2 Constant undefined Undefined
3 Start None
4 CheckOverRecursed None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
8 Constant function complex1 (-e:2) at 104289c6c8c8 Object
13 Call <- Constant#8, Constant#2, Parameter#1 Value
16 Constant function complex2 (-e:7) at 104289c6c970 Object
21 Call <- Constant#16, Constant#2, Parameter#1 Value
24 Constant function complex3 (-e:11) at 104289c6c938 Object
29 Call <- Constant#24, Constant#2, Parameter#1, Call#13 Value
30 Constant shape at 104289c64f00 Shape
31 NewArrayObject <- Constant#30 Object
32 Constant 0x0 I[0, 0]: Int32
33 Elements <- NewArrayObject#31 Elements
34 PostWriteBarrier <- NewArrayObject#31, Call#13 None
35 StoreElement <- Elements#33, Constant#32, Call#13 None
36 SetInitializedLength <- Elements#33, Constant#32 None
37 Constant 0x1 I[1, 1]: Int32
38 Elements <- NewArrayObject#31 Elements
39 PostWriteBarrier <- NewArrayObject#31, Call#21 None
40 StoreElement <- Elements#38, Constant#37, Call#21 None
41 SetInitializedLength <- Elements#38, Constant#37 None
42 Constant 0x2 I[2, 2]: Int32
43 Elements <- NewArrayObject#31 Elements
44 PostWriteBarrier <- NewArrayObject#31, Call#29 None
45 StoreElement <- Elements#43, Constant#42, Call#29 None
46 SetInitializedLength <- Elements#43, Constant#42 None
47 Constant 0x3 I[3, 3]: Int32
48 Elements <- NewArrayObject#31 Elements
49 PostWriteBarrier <- NewArrayObject#31, Parameter#1 None
50 StoreElement <- Elements#48, Constant#47, Parameter#1 None
51 SetInitializedLength <- Elements#48, Constant#47 None
54 Constant function complex4 (-e:17) at 104289c6c890 Object
59 Call <- Constant#54, Constant#2, NewArrayObject#31 Value
60 Constant shape at 104289c64fa0 Shape
61 NewPlainObject <- Constant#60 Object
62 GuardShape <- NewPlainObject#61 Object
63 PostWriteBarrier <- GuardShape#62, Call#13 None
64 StoreFixedSlot <- GuardShape#62, Call#13 (slot 0) None
66 PostWriteBarrier <- GuardShape#62, Call#21 None
67 StoreFixedSlot <- GuardShape#62, Call#21 (slot 1) None
69 PostWriteBarrier <- GuardShape#62, Call#29 None
70 StoreFixedSlot <- GuardShape#62, Call#29 (slot 2) None
72 PostWriteBarrier <- GuardShape#62, Call#59 None
73 StoreFixedSlot <- GuardShape#62, Call#59 (slot 3) None
76 Constant function complex5 (-e:21) at 104289c6c900 Object
81 Call <- Constant#76, Constant#2, NewPlainObject#61 Value
175 FunctionEnvironment <- Constant#54 Object
517 FunctionEnvironment <- Constant#76 Object
84 Goto -> block 1 None
Block 1 (loop header)
85 Phi <- Call#13, Call#108 Value
86 Phi <- Call#21, Box#710 Value
87 Phi <- Call#29, Call#143 Value
88 Phi <- Call#59, Call#495 Value
89 Phi <- Call#81, Call#704 Value
90 Phi <- Constant#32, Add#709 I[0 {}, 2147483647 {[loop] +9}]: Int32
91 InterruptCheck None
92 Constant 0xa I[10, 10]: Int32
95 Compare <- Phi#90, Constant#92 Lt Bool
96 Test <- Compare#95 -> block 2, block 56 None
1
0
Block 2
101 Unbox Phi#85 to Double (fallible) Double
806 ToDouble <- Phi#90 I[0, 9]: Double
104 Add <- Unbox#101, ToDouble#806 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
108 Call <- Constant#8, Constant#2, Add#104 Value
113 Unbox Phi#86 to Int32 (fallible) Int32
116 Add <- Unbox#113, Phi#90 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
120 Goto -> block 3 None
Block 3
123 Lsh <- Add#116, Constant#37 I[-2147483648, 2147483647]: Int32
125 Rsh <- Add#116, Constant#37 I[-1073741824, 1073741823]: Int32
126 Constant 0xff I[255, 255]: Int32
127 BitAnd <- Add#116, Constant#126 I[0, 255]: Int32
129 Ursh <- Add#116, Constant#42 I[0, 1073741823]: Int32
130 Add <- BitAnd#127, Ursh#129 [int32] I[0, 1073742078]: Int32
131 BitNot <- Add#116 I[-2147483648, 2147483647]: Int32
132 Sub <- Add#130, BitNot#131 [int32] I[-2147483648, 2147483647]: Int32 (t)
133 BitXor <- Rsh#125, Sub#132 I[-2147483648, 2147483647]: Int32
134 BitOr <- Lsh#123, BitXor#133 I[-2147483648, 2147483647]: Int32
135 Goto -> block 4 None
Block 4
143 Call <- Constant#24, Constant#2, Phi#87, Call#108 Value
149 NewArrayObject <- Constant#30 Object
151 Elements <- NewArrayObject#149 Elements
152 PostWriteBarrier <- NewArrayObject#149, Call#108 None
153 StoreElement <- Elements#151, Constant#32, Call#108 None
154 SetInitializedLength <- Elements#151, Constant#32 None
156 Elements <- NewArrayObject#149 Elements
157 PostWriteBarrier <- NewArrayObject#149, BitOr#134 None
158 StoreElement <- Elements#156, Constant#37, BitOr#134 None
159 SetInitializedLength <- Elements#156, Constant#37 None
161 Elements <- NewArrayObject#149 Elements
162 PostWriteBarrier <- NewArrayObject#149, Call#143 None
163 StoreElement <- Elements#161, Constant#42, Call#143 None
164 SetInitializedLength <- Elements#161, Constant#42 None
166 Elements <- NewArrayObject#149 Elements
167 PostWriteBarrier <- NewArrayObject#149, Phi#90 None
168 StoreElement <- Elements#166, Constant#47, Phi#90 None
169 SetInitializedLength <- Elements#166, Constant#47 None
173 Goto -> block 5 None
Block 5
176 GuardShape <- NewArrayObject#149 Object
178 Constant function map (self-hosted:163) at 104289c47920 Object
179 Constant function complex4/< (-e:18) at 104289c63d28 Object
180 Lambda <- FunctionEnvironment#175, Constant#179 Object
184 Goto -> block 6 None
Block 6
186 Constant function ToObject at 104289c6c740 Object
187 Box <- Constant#186 Value
188 DebugCheckSelfHosted <- Box#187 Value
191 Constant function ToLength at 104289c6c778 Object
192 Box <- Constant#191 Value
193 DebugCheckSelfHosted <- Box#192 Value
195 GuardShape <- NewArrayObject#149 Object
196 Elements <- GuardShape#195 Elements
197 ArrayLength <- Elements#196 I[0, 2147483647]: Int32
808 Goto -> block 7 None
Block 7
213 Constant function IsCallable at 104289c6c7b0 Object
214 Box <- Constant#213 Value
215 DebugCheckSelfHosted <- Box#214 Value
809 AssertClass <- Lambda#180 None
811 Goto -> block 8 None
Block 8
813 Goto -> block 9 None
Block 9
238 Box <- Constant#2 Value
239 Goto -> block 10 None
Block 10
241 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
242 Box <- Constant#241 Value
243 DebugCheckSelfHosted <- Box#242 Value
246 HasShape <- NewArrayObject#149 Bool
247 Test <- HasShape#246 -> block 11, block 12 None
1
0
Block 11
248 Constant function std_Array at 104289c6c820 Object
249 Box <- Constant#248 Value
250 DebugCheckSelfHosted <- Box#249 Value
253 Unbox DebugCheckSelfHosted#250 to Object (fallible) Object
255 GuardSpecificFunction <- Unbox#253, Constant#248 Object
256 NewArrayDynamicLength <- ArrayLength#197 Object
257 Goto -> block 13 None
Block 12
258 CallGetIntrinsicValue Value
259 DebugCheckSelfHosted <- CallGetIntrinsicValue#258 Value
261 Bail None
262 Unreachable None
Block 13
279 GuardShape <- NewArrayObject#149 Object
816 Constant 2 I[2, 2]: Double
318 GuardShape <- NewArrayDynamicLength#256 Object
264 Goto -> block 14 None
Block 14 (loop header)
265 Phi <- Constant#32, Add#326 I[0 {}, 2147483647 {[loop] #197-1}]: Int32
267 InterruptCheck None
272 Compare <- Phi#265, ArrayLength#197 Lt Bool
273 Test <- Compare#272 -> block 15, block 20 None
1
0
Block 15
280 Elements <- GuardShape#279 Elements
281 InitializedLength <- Elements#280 I[0, 268435453]: Int32
282 BoundsCheck <- Phi#265, InitializedLength#281 I[0, 2147483646]: Int32
283 SpectreMaskIndex <- BoundsCheck#282, InitializedLength#281 I[0, 2147483646]: Int32
284 GuardElementNotHole <- Elements#280, SpectreMaskIndex#283 None
814 Goto -> block 16 None
Block 16
299 GuardElementsArePacked <- Elements#280 None
300 LoadElement <- Elements#280, SpectreMaskIndex#283 Value
815 AssertClass <- Lambda#180 None
306 Goto -> block 17 None
Block 17
309 Unbox LoadElement#300 to Double (fallible) Double
311 Mul <- Unbox#309, Constant#816 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
312 Goto -> block 18 None
Block 18
319 Elements <- GuardShape#318 Elements
320 StoreElementHole <- GuardShape#318, Elements#319, Phi#265, Mul#311 None
321 Goto -> block 19 None
Block 19 (backedge)
326 Add <- Phi#265, Constant#37 [int32] I[1, 2147483647]: Int32
327 Goto -> block 14 None
Block 20
330 GuardShape <- NewArrayDynamicLength#256 Object
332 Constant function filter (self-hosted:183) at 104289c47970 Object
333 Constant function complex4/< (-e:18) at 104289c63d60 Object
334 Lambda <- FunctionEnvironment#175, Constant#333 Object
338 Goto -> block 21 None
Block 21
342 DebugCheckSelfHosted <- Box#187 Value
349 DebugCheckSelfHosted <- Box#192 Value
351 GuardShape <- NewArrayDynamicLength#256 Object
352 Elements <- GuardShape#351 Elements
353 ArrayLength <- Elements#352 I[0, 2147483647]: Int32
818 Goto -> block 22 None
Block 22
371 DebugCheckSelfHosted <- Box#214 Value
819 AssertClass <- Lambda#334 None
821 Goto -> block 23 None
Block 23
823 Goto -> block 24 None
Block 24
395 Goto -> block 25 None
Block 25
399 DebugCheckSelfHosted <- Box#242 Value
402 HasShape <- NewArrayDynamicLength#256 Bool
403 Test <- HasShape#402 -> block 26, block 27 None
1
0
Block 26
405 NewArrayObject <- Constant#30 Object
406 Goto -> block 28 None
Block 27
407 CallGetIntrinsicValue Value
408 DebugCheckSelfHosted <- CallGetIntrinsicValue#407 Value
411 Bail None
412 Unreachable None
Block 28
431 GuardShape <- NewArrayDynamicLength#256 Object
826 Constant 50 I[50, 50]: Double
473 GuardShape <- NewArrayObject#405 Object
415 Goto -> block 29 None
Block 29 (loop header)
416 Phi <- Constant#32, Add#482 I[0 {}, 2147483647 {[loop] #353-1}]: Int32
417 Phi <- Constant#32, Phi#477 Int32
419 InterruptCheck None
424 Compare <- Phi#416, ArrayLength#353 Lt Bool
425 Test <- Compare#424 -> block 30, block 37 None
1
0
Block 30
432 Elements <- GuardShape#431 Elements
433 InitializedLength <- Elements#432 I[0, 268435453]: Int32
434 BoundsCheck <- Phi#416, InitializedLength#433 I[0, 2147483646]: Int32
435 SpectreMaskIndex <- BoundsCheck#434, InitializedLength#433 I[0, 2147483646]: Int32
436 GuardElementNotHole <- Elements#432, SpectreMaskIndex#435 None
824 Goto -> block 31 None
Block 31
451 GuardElementsArePacked <- Elements#432 None
452 LoadElement <- Elements#432, SpectreMaskIndex#435 Value
825 AssertClass <- Lambda#334 None
458 Goto -> block 32 None
Block 32
461 Unbox LoadElement#452 to Double (fallible) Double
463 Compare <- Unbox#461, Constant#826 Gt Bool
464 Goto -> block 33 None
Block 33
465 Test <- Compare#463 -> block 35, block 34 None
1
0
Block 34 (split edge)
466 Goto -> block 36 None
Block 35
470 Add <- Phi#417, Constant#37 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
474 Elements <- GuardShape#473 Elements
475 StoreElementHole <- GuardShape#473, Elements#474, Phi#417, LoadElement#452 None
476 Goto -> block 36 None
Block 36 (backedge)
477 Phi <- Add#470, Phi#417 Int32
482 Add <- Phi#416, Constant#37 [int32] I[1, 2147483647]: Int32
483 Goto -> block 29 None
Block 37
486 GuardShape <- NewArrayObject#405 Object
488 Constant function reduce (self-hosted:205) at 104289c479c0 Object
489 Constant function complex4/< (-e:18) at 104289c63d98 Object
490 Lambda <- FunctionEnvironment#175, Constant#489 Object
495 Call <- Constant#488, NewArrayObject#405, Lambda#490, Constant#32 Value
496 Goto -> block 38 None
Block 38
501 Constant shape at 104289c64fc0 Shape
502 NewPlainObject <- Constant#501 Object
503 GuardShape <- NewPlainObject#502 Object
504 PostWriteBarrier <- GuardShape#503, Call#108 None
505 StoreFixedSlot <- GuardShape#503, Call#108 (slot 0) None
507 PostWriteBarrier <- GuardShape#503, BitOr#134 None
508 StoreFixedSlot <- GuardShape#503, BitOr#134 (slot 1) None
510 PostWriteBarrier <- GuardShape#503, Call#143 None
511 StoreFixedSlot <- GuardShape#503, Call#143 (slot 2) None
515 Goto -> block 39 None
Block 39
518 Constant object 104289c3f078 (Call) Object
519 NewCallObject <- Constant#518 Object
520 Box <- FunctionEnvironment#517 Value
521 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#520 None
522 Box <- Constant#76 Value
523 AssertCanElidePostWriteBarrier <- NewCallObject#519, Box#522 None
524 StoreFixedSlot <- NewCallObject#519, FunctionEnvironment#517 (slot 0) None
525 StoreFixedSlot <- NewCallObject#519, Constant#76 (slot 1) None
526 PostWriteBarrier <- NewCallObject#519, NewPlainObject#502 None
527 StoreFixedSlot <- NewCallObject#519, NewPlainObject#502 (slot 2) None
828 AssertClass <- NewPlainObject#502 None
540 ObjectKeys <- NewPlainObject#502 Object
541 GuardShape <- ObjectKeys#540 Object
544 Constant function complex5/< (-e:22) at 104289c63e08 Object
545 Lambda <- NewCallObject#519, Constant#544 Object
549 Goto -> block 40 None
Block 40
553 DebugCheckSelfHosted <- Box#187 Value
558 DebugCheckSelfHosted <- Box#192 Value
560 GuardShape <- ObjectKeys#540 Object
561 Elements <- GuardShape#560 Elements
562 ArrayLength <- Elements#561 I[0, 2147483647]: Int32
830 Goto -> block 41 None
Block 41
580 DebugCheckSelfHosted <- Box#214 Value
831 AssertClass <- Lambda#545 None
833 Goto -> block 42 None
Block 42
835 Goto -> block 43 None
Block 43
604 Goto -> block 44 None
Block 44
608 DebugCheckSelfHosted <- Box#242 Value
611 HasShape <- ObjectKeys#540 Bool
612 Test <- HasShape#611 -> block 45, block 46 None
1
0
Block 45
615 DebugCheckSelfHosted <- Box#249 Value
618 Unbox DebugCheckSelfHosted#615 to Object (fallible) Object
620 GuardSpecificFunction <- Unbox#618, Constant#248 Object
621 NewArrayDynamicLength <- ArrayLength#562 Object
622 Goto -> block 47 None
Block 46
623 CallGetIntrinsicValue Value
624 DebugCheckSelfHosted <- CallGetIntrinsicValue#623 Value
626 Bail None
627 Unreachable None
Block 47
644 GuardShape <- ObjectKeys#540 Object
674 LoadFixedSlot <- NewCallObject#519 (slot 2) Value
675 Unbox LoadFixedSlot#674 to Object (fallible) Object
683 GuardShape <- NewArrayDynamicLength#621 Object
629 Goto -> block 48 None
Block 48 (loop header)
630 Phi <- Constant#32, Add#691 I[0 {}, 2147483647 {[loop] #562-1}]: Int32
632 InterruptCheck None
637 Compare <- Phi#630, ArrayLength#562 Lt Bool
638 Test <- Compare#637 -> block 49, block 54 None
1
0
Block 49
645 Elements <- GuardShape#644 Elements
646 InitializedLength <- Elements#645 I[0, 268435453]: Int32
647 BoundsCheck <- Phi#630, InitializedLength#646 I[0, 2147483646]: Int32
648 SpectreMaskIndex <- BoundsCheck#647, InitializedLength#646 I[0, 2147483646]: Int32
649 GuardElementNotHole <- Elements#645, SpectreMaskIndex#648 None
836 Goto -> block 50 None
Block 50
664 GuardElementsArePacked <- Elements#645 None
665 LoadElement <- Elements#645, SpectreMaskIndex#648 Value
837 AssertClass <- Lambda#545 None
671 Goto -> block 51 None
Block 51
676 MegamorphicLoadSlotByValue <- Unbox#675, LoadElement#665 Value
677 Goto -> block 52 None
Block 52
684 Elements <- GuardShape#683 Elements
685 StoreElementHole <- GuardShape#683, Elements#684, Phi#630, MegamorphicLoadSlotByValue#676 None
686 Goto -> block 53 None
Block 53 (backedge)
691 Add <- Phi#630, Constant#37 [int32] I[1, 2147483647]: Int32
692 Goto -> block 48 None
Block 54
695 GuardShape <- NewArrayDynamicLength#621 Object
698 Constant function complex5/< (-e:22) at 104289c63e40 Object
699 Lambda <- NewCallObject#519, Constant#698 Object
704 Call <- Constant#488, NewArrayDynamicLength#621, Lambda#699, Constant#32 Value
705 Goto -> block 55 None
Block 55 (backedge)
709 Add <- Phi#90, Constant#37 [int32] I[1, 10]: Int32
710 Box <- BitOr#134 Value
711 Goto -> block 1 None
Block 56
712 Unbox Phi#85 to Double (fallible) Double
713 Unbox Phi#86 to Double (fallible) Double
714 Add <- Unbox#712, Unbox#713 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
715 Unbox Phi#87 to Double (fallible) Double
716 Add <- Add#714, Unbox#715 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
717 Unbox Phi#88 to Double (fallible) Double
718 Add <- Add#716, Unbox#717 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
719 Unbox Phi#89 to Double (fallible) Double
720 Add <- Add#718, Unbox#719 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
721 Box <- Add#720 Value
722 Return <- Box#721 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#308 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#225 Value
57 Phi <- Call#49, Call#305 Value
58 Phi <- Constant#15, Add#307 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 12 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 13 None
Block 12
135 CallGetIntrinsicValue Value
136 DebugCheckSelfHosted <- CallGetIntrinsicValue#135 Value
137 Bail None
138 Unreachable None
Block 13
139 GuardShape <- NewArrayObject#82 Object
140 Constant 2 I[2, 2]: Double
141 GuardShape <- NewArrayDynamicLength#133 Object
142 Goto -> block 14 None
Block 14 (loop header)
143 Phi <- Constant#15, Add#163 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
144 InterruptCheck None
145 Compare <- Phi#143, ArrayLength#113 Lt Bool
146 Test <- Compare#145 -> block 15, block 20 None
1
0
Block 15
147 Elements <- GuardShape#139 Elements
148 InitializedLength <- Elements#147 I[0, 268435453]: Int32
149 BoundsCheck <- Phi#143, InitializedLength#148 I[0, 2147483646]: Int32
150 SpectreMaskIndex <- BoundsCheck#149, InitializedLength#148 I[0, 2147483646]: Int32
151 GuardElementNotHole <- Elements#147, SpectreMaskIndex#150 None
152 Goto -> block 16 None
Block 16
153 GuardElementsArePacked <- Elements#147 None
154 LoadElement <- Elements#147, SpectreMaskIndex#150 Value
155 AssertClass <- Lambda#103 None
156 Goto -> block 17 None
Block 17
157 Unbox LoadElement#154 to Double (fallible) Double
158 Mul <- Unbox#157, Constant#140 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
159 Goto -> block 18 None
Block 18
160 Elements <- GuardShape#141 Elements
161 StoreElementHole <- GuardShape#141, Elements#160, Phi#143, Mul#158 None
162 Goto -> block 19 None
Block 19 (backedge)
163 Add <- Phi#143, Constant#20 [int32] I[1, 2147483647]: Int32
164 Goto -> block 14 None
Block 20
165 Constant function complex4/< (-e:18) at 104289c63d60 Object
166 GuardShape <- NewArrayDynamicLength#133 Object
167 Constant function filter (self-hosted:183) at 104289c47970 Object
168 Lambda <- FunctionEnvironment#50, Constant#165 Object
169 Goto -> block 21 None
Block 21
170 DebugCheckSelfHosted <- Box#107 Value
171 DebugCheckSelfHosted <- Box#109 Value
172 GuardShape <- NewArrayDynamicLength#133 Object
173 Elements <- GuardShape#172 Elements
174 ArrayLength <- Elements#173 I[0, 2147483647]: Int32
175 Goto -> block 22 None
Block 22
176 DebugCheckSelfHosted <- Box#116 Value
177 AssertClass <- Lambda#168 None
178 Goto -> block 23 None
Block 23
179 Goto -> block 24 None
Block 24
180 Goto -> block 25 None
Block 25
181 DebugCheckSelfHosted <- Box#124 Value
182 HasShape <- NewArrayDynamicLength#133 Bool
183 Test <- HasShape#182 -> block 26, block 27 None
1
0
Block 26
184 NewArrayObject <- Constant#13 Object
185 Goto -> block 28 None
Block 27
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Bail None
189 Unreachable None
Block 28
190 GuardShape <- NewArrayDynamicLength#133 Object
191 Constant 50 I[50, 50]: Double
192 GuardShape <- NewArrayObject#184 Object
193 Goto -> block 29 None
Block 29 (loop header)
194 Phi <- Constant#15, Add#219 I[0 {}, 2147483647 {[loop] #174-1}]: Int32
195 Phi <- Constant#15, Phi#218 Int32
196 InterruptCheck None
197 Compare <- Phi#194, ArrayLength#174 Lt Bool
198 Test <- Compare#197 -> block 30, block 37 None
1
0
Block 30
199 Elements <- GuardShape#190 Elements
200 InitializedLength <- Elements#199 I[0, 268435453]: Int32
201 BoundsCheck <- Phi#194, InitializedLength#200 I[0, 2147483646]: Int32
202 SpectreMaskIndex <- BoundsCheck#201, InitializedLength#200 I[0, 2147483646]: Int32
203 GuardElementNotHole <- Elements#199, SpectreMaskIndex#202 None
204 Goto -> block 31 None
Block 31
205 GuardElementsArePacked <- Elements#199 None
206 LoadElement <- Elements#199, SpectreMaskIndex#202 Value
207 AssertClass <- Lambda#168 None
208 Goto -> block 32 None
Block 32
209 Unbox LoadElement#206 to Double (fallible) Double
210 Compare <- Unbox#209, Constant#191 Gt Bool
211 Goto -> block 33 None
Block 33
212 Test <- Compare#210 -> block 35, block 34 None
1
0
Block 34 (split edge)
213 Goto -> block 36 None
Block 35
214 Add <- Phi#195, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
215 Elements <- GuardShape#192 Elements
216 StoreElementHole <- GuardShape#192, Elements#215, Phi#195, LoadElement#206 None
217 Goto -> block 36 None
Block 36 (backedge)
218 Phi <- Add#214, Phi#195 Int32
219 Add <- Phi#194, Constant#20 [int32] I[1, 2147483647]: Int32
220 Goto -> block 29 None
Block 37
221 Constant function complex4/< (-e:18) at 104289c63d98 Object
222 GuardShape <- NewArrayObject#184 Object
223 Constant function reduce (self-hosted:205) at 104289c479c0 Object
224 Lambda <- FunctionEnvironment#50, Constant#221 Object
225 Call <- Constant#223, NewArrayObject#184, Lambda#224, Constant#15 Value
226 Goto -> block 38 None
Block 38
227 Constant shape at 104289c64fc0 Shape
228 NewPlainObject <- Constant#227 Object
229 GuardShape <- NewPlainObject#228 Object
230 PostWriteBarrier <- GuardShape#229, Call#66 None
231 StoreFixedSlot <- GuardShape#229, Call#66 (slot 0) None
232 PostWriteBarrier <- GuardShape#229, BitOr#79 None
233 StoreFixedSlot <- GuardShape#229, BitOr#79 (slot 1) None
234 PostWriteBarrier <- GuardShape#229, Call#81 None
235 StoreFixedSlot <- GuardShape#229, Call#81 (slot 2) None
236 Goto -> block 39 None
Block 39
237 Constant object 104289c3f078 (Call) Object
238 Constant function complex5/< (-e:22) at 104289c63e08 Object
239 NewCallObject <- Constant#237 Object
240 Box <- FunctionEnvironment#51 Value
241 AssertCanElidePostWriteBarrier <- NewCallObject#239, Box#240 None
242 Box <- Constant#48 Value
243 AssertCanElidePostWriteBarrier <- NewCallObject#239, Box#242 None
244 StoreFixedSlot <- NewCallObject#239, FunctionEnvironment#51 (slot 0) None
245 StoreFixedSlot <- NewCallObject#239, Constant#48 (slot 1) None
246 PostWriteBarrier <- NewCallObject#239, NewPlainObject#228 None
247 StoreFixedSlot <- NewCallObject#239, NewPlainObject#228 (slot 2) None
248 AssertClass <- NewPlainObject#228 None
249 ObjectKeys <- NewPlainObject#228 Object
250 GuardShape <- ObjectKeys#249 Object
251 Lambda <- NewCallObject#239, Constant#238 Object
252 Goto -> block 40 None
Block 40
253 DebugCheckSelfHosted <- Box#107 Value
254 DebugCheckSelfHosted <- Box#109 Value
255 GuardShape <- ObjectKeys#249 Object
256 Elements <- GuardShape#255 Elements
257 ArrayLength <- Elements#256 I[0, 2147483647]: Int32
258 Goto -> block 41 None
Block 41
259 DebugCheckSelfHosted <- Box#116 Value
260 AssertClass <- Lambda#251 None
261 Goto -> block 42 None
Block 42
262 Goto -> block 43 None
Block 43
263 Goto -> block 44 None
Block 44
264 DebugCheckSelfHosted <- Box#124 Value
265 HasShape <- ObjectKeys#249 Bool
266 Test <- HasShape#265 -> block 45, block 46 None
1
0
Block 45
267 DebugCheckSelfHosted <- Box#129 Value
268 Unbox DebugCheckSelfHosted#267 to Object (fallible) Object
269 GuardSpecificFunction <- Unbox#268, Constant#128 Object
270 NewArrayDynamicLength <- ArrayLength#257 Object
271 Goto -> block 47 None
Block 46
272 CallGetIntrinsicValue Value
273 DebugCheckSelfHosted <- CallGetIntrinsicValue#272 Value
274 Bail None
275 Unreachable None
Block 47
276 GuardShape <- ObjectKeys#249 Object
277 LoadFixedSlot <- NewCallObject#239 (slot 2) Value
278 Unbox LoadFixedSlot#277 to Object (fallible) Object
279 GuardShape <- NewArrayDynamicLength#270 Object
280 Goto -> block 48 None
Block 48 (loop header)
281 Phi <- Constant#15, Add#300 I[0 {}, 2147483647 {[loop] #257-1}]: Int32
282 InterruptCheck None
283 Compare <- Phi#281, ArrayLength#257 Lt Bool
284 Test <- Compare#283 -> block 49, block 54 None
1
0
Block 49
285 Elements <- GuardShape#276 Elements
286 InitializedLength <- Elements#285 I[0, 268435453]: Int32
287 BoundsCheck <- Phi#281, InitializedLength#286 I[0, 2147483646]: Int32
288 SpectreMaskIndex <- BoundsCheck#287, InitializedLength#286 I[0, 2147483646]: Int32
289 GuardElementNotHole <- Elements#285, SpectreMaskIndex#288 None
290 Goto -> block 50 None
Block 50
291 GuardElementsArePacked <- Elements#285 None
292 LoadElement <- Elements#285, SpectreMaskIndex#288 Value
293 AssertClass <- Lambda#251 None
294 Goto -> block 51 None
Block 51
295 MegamorphicLoadSlotByValue <- Unbox#278, LoadElement#292 Value
296 Goto -> block 52 None
Block 52
297 Elements <- GuardShape#279 Elements
298 StoreElementHole <- GuardShape#279, Elements#297, Phi#281, MegamorphicLoadSlotByValue#295 None
299 Goto -> block 53 None
Block 53 (backedge)
300 Add <- Phi#281, Constant#20 [int32] I[1, 2147483647]: Int32
301 Goto -> block 48 None
Block 54
302 Constant function complex5/< (-e:22) at 104289c63e40 Object
303 GuardShape <- NewArrayDynamicLength#270 Object
304 Lambda <- NewCallObject#239, Constant#302 Object
305 Call <- Constant#223, NewArrayDynamicLength#270, Lambda#304, Constant#15 Value
306 Goto -> block 55 None
Block 55 (backedge)
307 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
308 Box <- BitOr#79 Value
309 Goto -> block 1 None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#308 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#225 Value
57 Phi <- Call#49, Call#305 Value
58 Phi <- Constant#15, Add#307 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
139 GuardShape <- NewArrayObject#82 Object
140 Constant 2 I[2, 2]: Double
141 GuardShape <- NewArrayDynamicLength#133 Object
142 Goto -> block 13 None
Block 13 (loop header)
143 Phi <- Constant#15, Add#163 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
144 InterruptCheck None
145 Compare <- Phi#143, ArrayLength#113 Lt Bool
146 Test <- Compare#145 -> block 14, block 19 None
1
0
Block 14
147 Elements <- GuardShape#139 Elements
148 InitializedLength <- Elements#147 I[0, 268435453]: Int32
149 BoundsCheck <- Phi#143, InitializedLength#148 I[0, 2147483646]: Int32
150 SpectreMaskIndex <- BoundsCheck#149, InitializedLength#148 I[0, 2147483646]: Int32
151 GuardElementNotHole <- Elements#147, SpectreMaskIndex#150 None
152 Goto -> block 15 None
Block 15
153 GuardElementsArePacked <- Elements#147 None
154 LoadElement <- Elements#147, SpectreMaskIndex#150 Value
155 AssertClass <- Lambda#103 None
156 Goto -> block 16 None
Block 16
157 Unbox LoadElement#154 to Double (fallible) Double
158 Mul <- Unbox#157, Constant#140 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
159 Goto -> block 17 None
Block 17
160 Elements <- GuardShape#141 Elements
161 StoreElementHole <- GuardShape#141, Elements#160, Phi#143, Mul#158 None
162 Goto -> block 18 None
Block 18 (backedge)
163 Add <- Phi#143, Constant#20 [int32] I[1, 2147483647]: Int32
164 Goto -> block 13 None
Block 19
165 Constant function complex4/< (-e:18) at 104289c63d60 Object
166 GuardShape <- NewArrayDynamicLength#133 Object
167 Constant function filter (self-hosted:183) at 104289c47970 Object
168 Lambda <- FunctionEnvironment#50, Constant#165 Object
169 Goto -> block 20 None
Block 20
170 DebugCheckSelfHosted <- Box#107 Value
171 DebugCheckSelfHosted <- Box#109 Value
172 GuardShape <- NewArrayDynamicLength#133 Object
173 Elements <- GuardShape#172 Elements
174 ArrayLength <- Elements#173 I[0, 2147483647]: Int32
175 Goto -> block 21 None
Block 21
176 DebugCheckSelfHosted <- Box#116 Value
177 AssertClass <- Lambda#168 None
178 Goto -> block 22 None
Block 22
179 Goto -> block 23 None
Block 23
180 Goto -> block 24 None
Block 24
181 DebugCheckSelfHosted <- Box#124 Value
182 HasShape <- NewArrayDynamicLength#133 Bool
183 Test <- HasShape#182 -> block 25, block 54 None
1
0
Block 25
184 NewArrayObject <- Constant#13 Object
185 Goto -> block 26 None
Block 26
190 GuardShape <- NewArrayDynamicLength#133 Object
191 Constant 50 I[50, 50]: Double
192 GuardShape <- NewArrayObject#184 Object
193 Goto -> block 27 None
Block 27 (loop header)
194 Phi <- Constant#15, Add#219 I[0 {}, 2147483647 {[loop] #174-1}]: Int32
195 Phi <- Constant#15, Phi#218 Int32
196 InterruptCheck None
197 Compare <- Phi#194, ArrayLength#174 Lt Bool
198 Test <- Compare#197 -> block 28, block 35 None
1
0
Block 28
199 Elements <- GuardShape#190 Elements
200 InitializedLength <- Elements#199 I[0, 268435453]: Int32
201 BoundsCheck <- Phi#194, InitializedLength#200 I[0, 2147483646]: Int32
202 SpectreMaskIndex <- BoundsCheck#201, InitializedLength#200 I[0, 2147483646]: Int32
203 GuardElementNotHole <- Elements#199, SpectreMaskIndex#202 None
204 Goto -> block 29 None
Block 29
205 GuardElementsArePacked <- Elements#199 None
206 LoadElement <- Elements#199, SpectreMaskIndex#202 Value
207 AssertClass <- Lambda#168 None
208 Goto -> block 30 None
Block 30
209 Unbox LoadElement#206 to Double (fallible) Double
210 Compare <- Unbox#209, Constant#191 Gt Bool
211 Goto -> block 31 None
Block 31
212 Test <- Compare#210 -> block 33, block 32 None
1
0
Block 32 (split edge)
213 Goto -> block 34 None
Block 33
214 Add <- Phi#195, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
215 Elements <- GuardShape#192 Elements
216 StoreElementHole <- GuardShape#192, Elements#215, Phi#195, LoadElement#206 None
217 Goto -> block 34 None
Block 34 (backedge)
218 Phi <- Add#214, Phi#195 Int32
219 Add <- Phi#194, Constant#20 [int32] I[1, 2147483647]: Int32
220 Goto -> block 27 None
Block 35
221 Constant function complex4/< (-e:18) at 104289c63d98 Object
222 GuardShape <- NewArrayObject#184 Object
223 Constant function reduce (self-hosted:205) at 104289c479c0 Object
224 Lambda <- FunctionEnvironment#50, Constant#221 Object
225 Call <- Constant#223, NewArrayObject#184, Lambda#224, Constant#15 Value
226 Goto -> block 36 None
Block 36
227 Constant shape at 104289c64fc0 Shape
228 NewPlainObject <- Constant#227 Object
229 GuardShape <- NewPlainObject#228 Object
230 PostWriteBarrier <- GuardShape#229, Call#66 None
231 StoreFixedSlot <- GuardShape#229, Call#66 (slot 0) None
232 PostWriteBarrier <- GuardShape#229, BitOr#79 None
233 StoreFixedSlot <- GuardShape#229, BitOr#79 (slot 1) None
234 PostWriteBarrier <- GuardShape#229, Call#81 None
235 StoreFixedSlot <- GuardShape#229, Call#81 (slot 2) None
236 Goto -> block 37 None
Block 37
237 Constant object 104289c3f078 (Call) Object
238 Constant function complex5/< (-e:22) at 104289c63e08 Object
239 NewCallObject <- Constant#237 Object
240 Box <- FunctionEnvironment#51 Value
241 AssertCanElidePostWriteBarrier <- NewCallObject#239, Box#240 None
242 Box <- Constant#48 Value
243 AssertCanElidePostWriteBarrier <- NewCallObject#239, Box#242 None
244 StoreFixedSlot <- NewCallObject#239, FunctionEnvironment#51 (slot 0) None
245 StoreFixedSlot <- NewCallObject#239, Constant#48 (slot 1) None
246 PostWriteBarrier <- NewCallObject#239, NewPlainObject#228 None
247 StoreFixedSlot <- NewCallObject#239, NewPlainObject#228 (slot 2) None
248 AssertClass <- NewPlainObject#228 None
249 ObjectKeys <- NewPlainObject#228 Object
250 GuardShape <- ObjectKeys#249 Object
251 Lambda <- NewCallObject#239, Constant#238 Object
252 Goto -> block 38 None
Block 38
253 DebugCheckSelfHosted <- Box#107 Value
254 DebugCheckSelfHosted <- Box#109 Value
255 GuardShape <- ObjectKeys#249 Object
256 Elements <- GuardShape#255 Elements
257 ArrayLength <- Elements#256 I[0, 2147483647]: Int32
258 Goto -> block 39 None
Block 39
259 DebugCheckSelfHosted <- Box#116 Value
260 AssertClass <- Lambda#251 None
261 Goto -> block 40 None
Block 40
262 Goto -> block 41 None
Block 41
263 Goto -> block 42 None
Block 42
264 DebugCheckSelfHosted <- Box#124 Value
265 HasShape <- ObjectKeys#249 Bool
266 Test <- HasShape#265 -> block 43, block 55 None
1
0
Block 43
267 DebugCheckSelfHosted <- Box#129 Value
268 Unbox DebugCheckSelfHosted#267 to Object (fallible) Object
269 GuardSpecificFunction <- Unbox#268, Constant#128 Object
270 NewArrayDynamicLength <- ArrayLength#257 Object
271 Goto -> block 44 None
Block 44
276 GuardShape <- ObjectKeys#249 Object
277 LoadFixedSlot <- NewCallObject#239 (slot 2) Value
278 Unbox LoadFixedSlot#277 to Object (fallible) Object
279 GuardShape <- NewArrayDynamicLength#270 Object
280 Goto -> block 45 None
Block 45 (loop header)
281 Phi <- Constant#15, Add#300 I[0 {}, 2147483647 {[loop] #257-1}]: Int32
282 InterruptCheck None
283 Compare <- Phi#281, ArrayLength#257 Lt Bool
284 Test <- Compare#283 -> block 46, block 51 None
1
0
Block 46
285 Elements <- GuardShape#276 Elements
286 InitializedLength <- Elements#285 I[0, 268435453]: Int32
287 BoundsCheck <- Phi#281, InitializedLength#286 I[0, 2147483646]: Int32
288 SpectreMaskIndex <- BoundsCheck#287, InitializedLength#286 I[0, 2147483646]: Int32
289 GuardElementNotHole <- Elements#285, SpectreMaskIndex#288 None
290 Goto -> block 47 None
Block 47
291 GuardElementsArePacked <- Elements#285 None
292 LoadElement <- Elements#285, SpectreMaskIndex#288 Value
293 AssertClass <- Lambda#251 None
294 Goto -> block 48 None
Block 48
295 MegamorphicLoadSlotByValue <- Unbox#278, LoadElement#292 Value
296 Goto -> block 49 None
Block 49
297 Elements <- GuardShape#279 Elements
298 StoreElementHole <- GuardShape#279, Elements#297, Phi#281, MegamorphicLoadSlotByValue#295 None
299 Goto -> block 50 None
Block 50 (backedge)
300 Add <- Phi#281, Constant#20 [int32] I[1, 2147483647]: Int32
301 Goto -> block 45 None
Block 51
302 Constant function complex5/< (-e:22) at 104289c63e40 Object
303 GuardShape <- NewArrayDynamicLength#270 Object
304 Lambda <- NewCallObject#239, Constant#302 Object
305 Call <- Constant#223, NewArrayDynamicLength#270, Lambda#304, Constant#15 Value
306 Goto -> block 52 None
Block 52 (backedge)
307 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
308 Box <- BitOr#79 Value
309 Goto -> block 1 None
Block 53
135 CallGetIntrinsicValue Value
136 DebugCheckSelfHosted <- CallGetIntrinsicValue#135 Value
137 Bail None
138 Unreachable None
Block 54
186 CallGetIntrinsicValue Value
187 DebugCheckSelfHosted <- CallGetIntrinsicValue#186 Value
188 Bail None
189 Unreachable None
Block 55
272 CallGetIntrinsicValue Value
273 DebugCheckSelfHosted <- CallGetIntrinsicValue#272 Value
274 Bail None
275 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- BoundsCheck#145, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- BoundsCheck#193, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
238 PostWriteBarrier <- NewCallObject#231, NewPlainObject#220 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
265 LoadFixedSlot <- NewCallObject#231 (slot 2) Value
266 Unbox LoadFixedSlot#265 to Object (fallible) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- BoundsCheck#275, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- Unbox#266, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
238 PostWriteBarrier <- NewCallObject#231, NewPlainObject#220 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
265 LoadFixedSlot <- NewCallObject#231 (slot 2) Value
266 Unbox LoadFixedSlot#265 to Object (fallible) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- Unbox#266, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
238 PostWriteBarrier <- NewCallObject#231, NewPlainObject#220 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
265 LoadFixedSlot <- NewCallObject#231 (slot 2) Value
266 Unbox LoadFixedSlot#265 to Object (fallible) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- Unbox#266, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
848 Box <- NewPlainObject#220 Value
849 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#848 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
265 LoadFixedSlot <- NewCallObject#231 (slot 2) Value
266 Unbox LoadFixedSlot#265 to Object (fallible) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- Unbox#266, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
19 SetInitializedLength <- Elements#16, Constant#15 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
24 SetInitializedLength <- Elements#21, Constant#20 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
29 SetInitializedLength <- Elements#26, Constant#25 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
34 SetInitializedLength <- Elements#31, Constant#30 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
86 SetInitializedLength <- Elements#83, Constant#15 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
90 SetInitializedLength <- Elements#87, Constant#20 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
94 SetInitializedLength <- Elements#91, Constant#25 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
98 SetInitializedLength <- Elements#95, Constant#30 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
848 Box <- NewPlainObject#220 Value
849 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#848 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
850 LoadFixedSlotAndUnbox <- NewCallObject#231 (slot 2) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#850, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
852 KeepAliveObject <- NewArrayObject#14 None
19 SetInitializedLength <- Elements#16, Constant#15 None
851 KeepAliveObject <- NewArrayObject#14 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
854 KeepAliveObject <- NewArrayObject#14 None
24 SetInitializedLength <- Elements#21, Constant#20 None
853 KeepAliveObject <- NewArrayObject#14 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
856 KeepAliveObject <- NewArrayObject#14 None
29 SetInitializedLength <- Elements#26, Constant#25 None
855 KeepAliveObject <- NewArrayObject#14 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
858 KeepAliveObject <- NewArrayObject#14 None
34 SetInitializedLength <- Elements#31, Constant#30 None
857 KeepAliveObject <- NewArrayObject#14 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
860 KeepAliveObject <- NewArrayObject#82 None
86 SetInitializedLength <- Elements#83, Constant#15 None
859 KeepAliveObject <- NewArrayObject#82 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
862 KeepAliveObject <- NewArrayObject#82 None
90 SetInitializedLength <- Elements#87, Constant#20 None
861 KeepAliveObject <- NewArrayObject#82 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
864 KeepAliveObject <- NewArrayObject#82 None
94 SetInitializedLength <- Elements#91, Constant#25 None
863 KeepAliveObject <- NewArrayObject#82 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
866 KeepAliveObject <- NewArrayObject#82 None
98 SetInitializedLength <- Elements#95, Constant#30 None
865 KeepAliveObject <- NewArrayObject#82 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
867 DebugEnterGCUnsafeRegion None
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
868 DebugLeaveGCUnsafeRegion None
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox DebugCheckSelfHosted#130 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
873 DebugEnterGCUnsafeRegion None
871 DebugEnterGCUnsafeRegion None
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
874 DebugLeaveGCUnsafeRegion None
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
872 DebugLeaveGCUnsafeRegion None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
870 KeepAliveObject <- GuardShape#135 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
869 KeepAliveObject <- GuardShape#135 None
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
875 DebugEnterGCUnsafeRegion None
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
876 DebugLeaveGCUnsafeRegion None
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
881 DebugEnterGCUnsafeRegion None
879 DebugEnterGCUnsafeRegion None
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
882 DebugLeaveGCUnsafeRegion None
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
880 DebugLeaveGCUnsafeRegion None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
878 KeepAliveObject <- GuardShape#182 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
877 KeepAliveObject <- GuardShape#182 None
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
848 Box <- NewPlainObject#220 Value
849 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#848 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
883 DebugEnterGCUnsafeRegion None
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
884 DebugLeaveGCUnsafeRegion None
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox DebugCheckSelfHosted#259 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
850 LoadFixedSlotAndUnbox <- NewCallObject#231 (slot 2) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
889 DebugEnterGCUnsafeRegion None
887 DebugEnterGCUnsafeRegion None
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
890 DebugLeaveGCUnsafeRegion None
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
888 DebugLeaveGCUnsafeRegion None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
886 KeepAliveObject <- GuardShape#264 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
885 KeepAliveObject <- GuardShape#264 None
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#850, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
852 KeepAliveObject <- NewArrayObject#14 None
19 SetInitializedLength <- Elements#16, Constant#15 None
851 KeepAliveObject <- NewArrayObject#14 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
854 KeepAliveObject <- NewArrayObject#14 None
24 SetInitializedLength <- Elements#21, Constant#20 None
853 KeepAliveObject <- NewArrayObject#14 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
856 KeepAliveObject <- NewArrayObject#14 None
29 SetInitializedLength <- Elements#26, Constant#25 None
855 KeepAliveObject <- NewArrayObject#14 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
858 KeepAliveObject <- NewArrayObject#14 None
34 SetInitializedLength <- Elements#31, Constant#30 None
857 KeepAliveObject <- NewArrayObject#14 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
860 KeepAliveObject <- NewArrayObject#82 None
86 SetInitializedLength <- Elements#83, Constant#15 None
859 KeepAliveObject <- NewArrayObject#82 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
862 KeepAliveObject <- NewArrayObject#82 None
90 SetInitializedLength <- Elements#87, Constant#20 None
861 KeepAliveObject <- NewArrayObject#82 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
864 KeepAliveObject <- NewArrayObject#82 None
94 SetInitializedLength <- Elements#91, Constant#25 None
863 KeepAliveObject <- NewArrayObject#82 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
866 KeepAliveObject <- NewArrayObject#82 None
98 SetInitializedLength <- Elements#95, Constant#30 None
865 KeepAliveObject <- NewArrayObject#82 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
867 DebugEnterGCUnsafeRegion None
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
868 DebugLeaveGCUnsafeRegion None
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox Box#129 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
873 DebugEnterGCUnsafeRegion None
871 DebugEnterGCUnsafeRegion None
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
874 DebugLeaveGCUnsafeRegion None
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
872 DebugLeaveGCUnsafeRegion None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
870 KeepAliveObject <- GuardShape#135 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
869 KeepAliveObject <- GuardShape#135 None
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
875 DebugEnterGCUnsafeRegion None
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
876 DebugLeaveGCUnsafeRegion None
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
881 DebugEnterGCUnsafeRegion None
879 DebugEnterGCUnsafeRegion None
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
882 DebugLeaveGCUnsafeRegion None
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
880 DebugLeaveGCUnsafeRegion None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
878 KeepAliveObject <- GuardShape#182 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
877 KeepAliveObject <- GuardShape#182 None
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
848 Box <- NewPlainObject#220 Value
849 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#848 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
883 DebugEnterGCUnsafeRegion None
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
884 DebugLeaveGCUnsafeRegion None
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox Box#129 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
850 LoadFixedSlotAndUnbox <- NewCallObject#231 (slot 2) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
889 DebugEnterGCUnsafeRegion None
887 DebugEnterGCUnsafeRegion None
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
890 DebugLeaveGCUnsafeRegion None
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
888 DebugLeaveGCUnsafeRegion None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
886 KeepAliveObject <- GuardShape#264 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
885 KeepAliveObject <- GuardShape#264 None
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#850, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant magic optimized-out MagicOptimizedOut
1 Parameter THIS_SLOT Value
2 Parameter 0 Value
3 Constant undefined Undefined
4 Start None
5 CheckOverRecursed None
6 Constant magic uninitialized-lexical MagicUninitializedLexical
7 Constant function complex1 (-e:2) at 104289c6c8c8 Object
8 Call <- Constant#7, Constant#3, Parameter#2 Value
9 Constant function complex2 (-e:7) at 104289c6c970 Object
10 Call <- Constant#9, Constant#3, Parameter#2 Value
11 Constant function complex3 (-e:11) at 104289c6c938 Object
12 Call <- Constant#11, Constant#3, Parameter#2, Call#8 Value
13 Constant shape at 104289c64f00 Shape
14 NewArrayObject <- Constant#13 Object
15 Constant 0x0 I[0, 0]: Int32
16 Elements <- NewArrayObject#14 Elements
17 PostWriteBarrier <- NewArrayObject#14, Call#8 None
18 StoreElement <- Elements#16, Constant#15, Call#8 None
852 KeepAliveObject <- NewArrayObject#14 None
19 SetInitializedLength <- Elements#16, Constant#15 None
851 KeepAliveObject <- NewArrayObject#14 None
20 Constant 0x1 I[1, 1]: Int32
21 Elements <- NewArrayObject#14 Elements
22 PostWriteBarrier <- NewArrayObject#14, Call#10 None
23 StoreElement <- Elements#21, Constant#20, Call#10 None
854 KeepAliveObject <- NewArrayObject#14 None
24 SetInitializedLength <- Elements#21, Constant#20 None
853 KeepAliveObject <- NewArrayObject#14 None
25 Constant 0x2 I[2, 2]: Int32
26 Elements <- NewArrayObject#14 Elements
27 PostWriteBarrier <- NewArrayObject#14, Call#12 None
28 StoreElement <- Elements#26, Constant#25, Call#12 None
856 KeepAliveObject <- NewArrayObject#14 None
29 SetInitializedLength <- Elements#26, Constant#25 None
855 KeepAliveObject <- NewArrayObject#14 None
30 Constant 0x3 I[3, 3]: Int32
31 Elements <- NewArrayObject#14 Elements
32 PostWriteBarrier <- NewArrayObject#14, Parameter#2 None
33 StoreElement <- Elements#31, Constant#30, Parameter#2 None
858 KeepAliveObject <- NewArrayObject#14 None
34 SetInitializedLength <- Elements#31, Constant#30 None
857 KeepAliveObject <- NewArrayObject#14 None
35 Constant function complex4 (-e:17) at 104289c6c890 Object
36 Call <- Constant#35, Constant#3, NewArrayObject#14 Value
37 Constant shape at 104289c64fa0 Shape
38 NewPlainObject <- Constant#37 Object
39 GuardShape <- NewPlainObject#38 Object
40 PostWriteBarrier <- GuardShape#39, Call#8 None
41 StoreFixedSlot <- GuardShape#39, Call#8 (slot 0) None
42 PostWriteBarrier <- GuardShape#39, Call#10 None
43 StoreFixedSlot <- GuardShape#39, Call#10 (slot 1) None
44 PostWriteBarrier <- GuardShape#39, Call#12 None
45 StoreFixedSlot <- GuardShape#39, Call#12 (slot 2) None
46 PostWriteBarrier <- GuardShape#39, Call#36 None
47 StoreFixedSlot <- GuardShape#39, Call#36 (slot 3) None
48 Constant function complex5 (-e:21) at 104289c6c900 Object
49 Call <- Constant#48, Constant#3, NewPlainObject#38 Value
50 FunctionEnvironment <- Constant#35 Object
51 FunctionEnvironment <- Constant#48 Object
52 Goto -> block 1 None
Block 1 (loop header)
53 Phi <- Call#8, Call#66 Value
54 Phi <- Call#10, Box#296 Value
55 Phi <- Call#12, Call#81 Value
56 Phi <- Call#36, Call#217 Value
57 Phi <- Call#49, Call#293 Value
58 Phi <- Constant#15, Add#295 I[0 {}, 2147483647 {[loop] +9}]: Int32
59 InterruptCheck None
60 Constant 0xa I[10, 10]: Int32
61 Compare <- Phi#58, Constant#60 Lt Bool
62 Test <- Compare#61 -> block 2, block 56 None
1
0
Block 2
63 Unbox Phi#53 to Double (fallible) Double
64 ToDouble <- Phi#58 I[0, 9]: Double
65 Add <- Unbox#63, ToDouble#64 [double] F[?, ?] (U NaN U -Infinity U Infinity): Double
66 Call <- Constant#7, Constant#3, Add#65 Value
67 Unbox Phi#54 to Int32 (fallible) Int32
68 Add <- Unbox#67, Phi#58 [int32] I[-2147483648, ?] (< pow(2, 32+1)): Int32
69 Goto -> block 3 None
Block 3
70 Constant 0xff I[255, 255]: Int32
71 Lsh <- Add#68, Constant#20 I[-2147483648, 2147483647]: Int32
72 Rsh <- Add#68, Constant#20 I[-1073741824, 1073741823]: Int32
73 BitAnd <- Add#68, Constant#70 I[0, 255]: Int32
74 Ursh <- Add#68, Constant#25 I[0, 1073741823]: Int32
75 Add <- BitAnd#73, Ursh#74 [int32] I[0, 1073742078]: Int32
76 BitNot <- Add#68 I[-2147483648, 2147483647]: Int32
77 Sub <- Add#75, BitNot#76 [int32] I[-2147483648, 2147483647]: Int32 (t)
78 BitXor <- Rsh#72, Sub#77 I[-2147483648, 2147483647]: Int32
79 BitOr <- Lsh#71, BitXor#78 I[-2147483648, 2147483647]: Int32
80 Goto -> block 4 None
Block 4
81 Call <- Constant#11, Constant#3, Phi#55, Call#66 Value
82 NewArrayObject <- Constant#13 Object
83 Elements <- NewArrayObject#82 Elements
84 PostWriteBarrier <- NewArrayObject#82, Call#66 None
85 StoreElement <- Elements#83, Constant#15, Call#66 None
860 KeepAliveObject <- NewArrayObject#82 None
86 SetInitializedLength <- Elements#83, Constant#15 None
859 KeepAliveObject <- NewArrayObject#82 None
87 Elements <- NewArrayObject#82 Elements
88 PostWriteBarrier <- NewArrayObject#82, BitOr#79 None
89 StoreElement <- Elements#87, Constant#20, BitOr#79 None
862 KeepAliveObject <- NewArrayObject#82 None
90 SetInitializedLength <- Elements#87, Constant#20 None
861 KeepAliveObject <- NewArrayObject#82 None
91 Elements <- NewArrayObject#82 Elements
92 PostWriteBarrier <- NewArrayObject#82, Call#81 None
93 StoreElement <- Elements#91, Constant#25, Call#81 None
864 KeepAliveObject <- NewArrayObject#82 None
94 SetInitializedLength <- Elements#91, Constant#25 None
863 KeepAliveObject <- NewArrayObject#82 None
95 Elements <- NewArrayObject#82 Elements
96 PostWriteBarrier <- NewArrayObject#82, Phi#58 None
97 StoreElement <- Elements#95, Constant#30, Phi#58 None
866 KeepAliveObject <- NewArrayObject#82 None
98 SetInitializedLength <- Elements#95, Constant#30 None
865 KeepAliveObject <- NewArrayObject#82 None
99 Goto -> block 5 None
Block 5
100 Constant function complex4/< (-e:18) at 104289c63d28 Object
101 GuardShape <- NewArrayObject#82 Object
102 Constant function map (self-hosted:163) at 104289c47920 Object
103 Lambda <- FunctionEnvironment#50, Constant#100 Object
104 Goto -> block 6 None
Block 6
105 Constant function ToObject at 104289c6c740 Object
106 Constant function ToLength at 104289c6c778 Object
107 Box <- Constant#105 Value
108 DebugCheckSelfHosted <- Box#107 Value
109 Box <- Constant#106 Value
110 DebugCheckSelfHosted <- Box#109 Value
111 GuardShape <- NewArrayObject#82 Object
112 Elements <- GuardShape#111 Elements
867 DebugEnterGCUnsafeRegion None
113 ArrayLength <- Elements#112 I[0, 2147483647]: Int32
868 DebugLeaveGCUnsafeRegion None
114 Goto -> block 7 None
Block 7
115 Constant function IsCallable at 104289c6c7b0 Object
116 Box <- Constant#115 Value
117 DebugCheckSelfHosted <- Box#116 Value
118 AssertClass <- Lambda#103 None
119 Goto -> block 8 None
Block 8
120 Goto -> block 9 None
Block 9
121 Box <- Constant#3 Value
122 Goto -> block 10 None
Block 10
123 Constant function CanOptimizeArraySpecies at 104289c6c7e8 Object
124 Box <- Constant#123 Value
125 DebugCheckSelfHosted <- Box#124 Value
126 HasShape <- NewArrayObject#82 Bool
127 Test <- HasShape#126 -> block 11, block 53 None
1
0
Block 11
128 Constant function std_Array at 104289c6c820 Object
129 Box <- Constant#128 Value
130 DebugCheckSelfHosted <- Box#129 Value
131 Unbox Box#129 to Object (fallible) Object
132 GuardSpecificFunction <- Unbox#131, Constant#128 Object
133 NewArrayDynamicLength <- ArrayLength#113 Object
134 Goto -> block 12 None
Block 12
135 GuardShape <- NewArrayObject#82 Object
136 Constant 2 I[2, 2]: Double
137 GuardShape <- NewArrayDynamicLength#133 Object
138 Goto -> block 13 None
Block 13 (loop header)
139 Phi <- Constant#15, Add#159 I[0 {}, 2147483647 {[loop] #113-1}]: Int32
140 InterruptCheck None
141 Compare <- Phi#139, ArrayLength#113 Lt Bool
142 Test <- Compare#141 -> block 14, block 19 None
1
0
Block 14
143 Elements <- GuardShape#135 Elements
873 DebugEnterGCUnsafeRegion None
871 DebugEnterGCUnsafeRegion None
144 InitializedLength <- Elements#143 I[0, 268435453]: Int32
874 DebugLeaveGCUnsafeRegion None
145 BoundsCheck <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
146 SpectreMaskIndex <- Phi#139, InitializedLength#144 I[0, 2147483646]: Int32
147 GuardElementNotHole <- Elements#143, SpectreMaskIndex#146 None
872 DebugLeaveGCUnsafeRegion None
148 Goto -> block 15 None
Block 15
149 GuardElementsArePacked <- Elements#143 None
870 KeepAliveObject <- GuardShape#135 None
150 LoadElement <- Elements#143, SpectreMaskIndex#146 Value
869 KeepAliveObject <- GuardShape#135 None
151 AssertClass <- Lambda#103 None
152 Goto -> block 16 None
Block 16
153 Unbox LoadElement#150 to Double (fallible) Double
154 Mul <- Unbox#153, Constant#136 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
155 Goto -> block 17 None
Block 17
156 Elements <- GuardShape#137 Elements
157 StoreElementHole <- GuardShape#137, Elements#156, Phi#139, Mul#154 None
158 Goto -> block 18 None
Block 18 (backedge)
159 Add <- Phi#139, Constant#20 [int32] I[1, 2147483647]: Int32
160 Goto -> block 13 None
Block 19
161 Constant function complex4/< (-e:18) at 104289c63d60 Object
162 GuardShape <- NewArrayDynamicLength#133 Object
163 Constant function filter (self-hosted:183) at 104289c47970 Object
164 Lambda <- FunctionEnvironment#50, Constant#161 Object
165 Goto -> block 20 None
Block 20
166 DebugCheckSelfHosted <- Box#107 Value
167 DebugCheckSelfHosted <- Box#109 Value
168 GuardShape <- NewArrayDynamicLength#133 Object
169 Elements <- GuardShape#168 Elements
875 DebugEnterGCUnsafeRegion None
170 ArrayLength <- Elements#169 I[0, 2147483647]: Int32
876 DebugLeaveGCUnsafeRegion None
171 Goto -> block 21 None
Block 21
172 DebugCheckSelfHosted <- Box#116 Value
173 AssertClass <- Lambda#164 None
174 Goto -> block 22 None
Block 22
175 Goto -> block 23 None
Block 23
176 Goto -> block 24 None
Block 24
177 DebugCheckSelfHosted <- Box#124 Value
178 HasShape <- NewArrayDynamicLength#133 Bool
179 Test <- HasShape#178 -> block 25, block 54 None
1
0
Block 25
180 NewArrayObject <- Constant#13 Object
181 Goto -> block 26 None
Block 26
182 GuardShape <- NewArrayDynamicLength#133 Object
183 Constant 50 I[50, 50]: Double
184 GuardShape <- NewArrayObject#180 Object
185 Goto -> block 27 None
Block 27 (loop header)
186 Phi <- Constant#15, Add#211 I[0 {}, 2147483647 {[loop] #170-1}]: Int32
187 Phi <- Constant#15, Phi#210 Int32
188 InterruptCheck None
189 Compare <- Phi#186, ArrayLength#170 Lt Bool
190 Test <- Compare#189 -> block 28, block 35 None
1
0
Block 28
191 Elements <- GuardShape#182 Elements
881 DebugEnterGCUnsafeRegion None
879 DebugEnterGCUnsafeRegion None
192 InitializedLength <- Elements#191 I[0, 268435453]: Int32
882 DebugLeaveGCUnsafeRegion None
193 BoundsCheck <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
194 SpectreMaskIndex <- Phi#186, InitializedLength#192 I[0, 2147483646]: Int32
195 GuardElementNotHole <- Elements#191, SpectreMaskIndex#194 None
880 DebugLeaveGCUnsafeRegion None
196 Goto -> block 29 None
Block 29
197 GuardElementsArePacked <- Elements#191 None
878 KeepAliveObject <- GuardShape#182 None
198 LoadElement <- Elements#191, SpectreMaskIndex#194 Value
877 KeepAliveObject <- GuardShape#182 None
199 AssertClass <- Lambda#164 None
200 Goto -> block 30 None
Block 30
201 Unbox LoadElement#198 to Double (fallible) Double
202 Compare <- Unbox#201, Constant#183 Gt Bool
203 Goto -> block 31 None
Block 31
204 Test <- Compare#202 -> block 33, block 32 None
1
0
Block 32 (split edge)
205 Goto -> block 34 None
Block 33
206 Add <- Phi#187, Constant#20 [int32] I[-2147483647, ?] (< pow(2, 32+1)): Int32
207 Elements <- GuardShape#184 Elements
208 StoreElementHole <- GuardShape#184, Elements#207, Phi#187, LoadElement#198 None
209 Goto -> block 34 None
Block 34 (backedge)
210 Phi <- Add#206, Phi#187 Int32
211 Add <- Phi#186, Constant#20 [int32] I[1, 2147483647]: Int32
212 Goto -> block 27 None
Block 35
213 Constant function complex4/< (-e:18) at 104289c63d98 Object
214 GuardShape <- NewArrayObject#180 Object
215 Constant function reduce (self-hosted:205) at 104289c479c0 Object
216 Lambda <- FunctionEnvironment#50, Constant#213 Object
217 Call <- Constant#215, NewArrayObject#180, Lambda#216, Constant#15 Value
218 Goto -> block 36 None
Block 36
219 Constant shape at 104289c64fc0 Shape
220 NewPlainObject <- Constant#219 Object
221 GuardShape <- NewPlainObject#220 Object
222 PostWriteBarrier <- GuardShape#221, Call#66 None
223 StoreFixedSlot <- GuardShape#221, Call#66 (slot 0) None
224 PostWriteBarrier <- GuardShape#221, BitOr#79 None
225 StoreFixedSlot <- GuardShape#221, BitOr#79 (slot 1) None
226 PostWriteBarrier <- GuardShape#221, Call#81 None
227 StoreFixedSlot <- GuardShape#221, Call#81 (slot 2) None
228 Goto -> block 37 None
Block 37
229 Constant object 104289c3f078 (Call) Object
230 Constant function complex5/< (-e:22) at 104289c63e08 Object
231 NewCallObject <- Constant#229 Object
232 Box <- FunctionEnvironment#51 Value
233 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#232 None
234 Box <- Constant#48 Value
235 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#234 None
236 StoreFixedSlot <- NewCallObject#231, FunctionEnvironment#51 (slot 0) None
237 StoreFixedSlot <- NewCallObject#231, Constant#48 (slot 1) None
848 Box <- NewPlainObject#220 Value
849 AssertCanElidePostWriteBarrier <- NewCallObject#231, Box#848 None
239 StoreFixedSlot <- NewCallObject#231, NewPlainObject#220 (slot 2) None
240 AssertClass <- NewPlainObject#220 None
241 ObjectKeys <- NewPlainObject#220 Object
242 GuardShape <- ObjectKeys#241 Object
243 Lambda <- NewCallObject#231, Constant#230 Object
244 Goto -> block 38 None
Block 38
245 DebugCheckSelfHosted <- Box#107 Value
246 DebugCheckSelfHosted <- Box#109 Value
247 GuardShape <- ObjectKeys#241 Object
248 Elements <- GuardShape#247 Elements
883 DebugEnterGCUnsafeRegion None
249 ArrayLength <- Elements#248 I[0, 2147483647]: Int32
884 DebugLeaveGCUnsafeRegion None
250 Goto -> block 39 None
Block 39
251 DebugCheckSelfHosted <- Box#116 Value
252 AssertClass <- Lambda#243 None
253 Goto -> block 40 None
Block 40
254 Goto -> block 41 None
Block 41
255 Goto -> block 42 None
Block 42
256 DebugCheckSelfHosted <- Box#124 Value
257 HasShape <- ObjectKeys#241 Bool
258 Test <- HasShape#257 -> block 43, block 55 None
1
0
Block 43
259 DebugCheckSelfHosted <- Box#129 Value
260 Unbox Box#129 to Object (fallible) Object
261 GuardSpecificFunction <- Unbox#260, Constant#128 Object
262 NewArrayDynamicLength <- ArrayLength#249 Object
263 Goto -> block 44 None
Block 44
264 GuardShape <- ObjectKeys#241 Object
850 LoadFixedSlotAndUnbox <- NewCallObject#231 (slot 2) Object
267 GuardShape <- NewArrayDynamicLength#262 Object
268 Goto -> block 45 None
Block 45 (loop header)
269 Phi <- Constant#15, Add#288 I[0 {}, 2147483647 {[loop] #249-1}]: Int32
270 InterruptCheck None
271 Compare <- Phi#269, ArrayLength#249 Lt Bool
272 Test <- Compare#271 -> block 46, block 51 None
1
0
Block 46
273 Elements <- GuardShape#264 Elements
889 DebugEnterGCUnsafeRegion None
887 DebugEnterGCUnsafeRegion None
274 InitializedLength <- Elements#273 I[0, 268435453]: Int32
890 DebugLeaveGCUnsafeRegion None
275 BoundsCheck <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
276 SpectreMaskIndex <- Phi#269, InitializedLength#274 I[0, 2147483646]: Int32
277 GuardElementNotHole <- Elements#273, SpectreMaskIndex#276 None
888 DebugLeaveGCUnsafeRegion None
278 Goto -> block 47 None
Block 47
279 GuardElementsArePacked <- Elements#273 None
886 KeepAliveObject <- GuardShape#264 None
280 LoadElement <- Elements#273, SpectreMaskIndex#276 Value
885 KeepAliveObject <- GuardShape#264 None
281 AssertClass <- Lambda#243 None
282 Goto -> block 48 None
Block 48
283 MegamorphicLoadSlotByValue <- LoadFixedSlotAndUnbox#850, LoadElement#280 Value
284 Goto -> block 49 None
Block 49
285 Elements <- GuardShape#267 Elements
286 StoreElementHole <- GuardShape#267, Elements#285, Phi#269, MegamorphicLoadSlotByValue#283 None
287 Goto -> block 50 None
Block 50 (backedge)
288 Add <- Phi#269, Constant#20 [int32] I[1, 2147483647]: Int32
289 Goto -> block 45 None
Block 51
290 Constant function complex5/< (-e:22) at 104289c63e40 Object
291 GuardShape <- NewArrayDynamicLength#262 Object
292 Lambda <- NewCallObject#231, Constant#290 Object
293 Call <- Constant#215, NewArrayDynamicLength#262, Lambda#292, Constant#15 Value
294 Goto -> block 52 None
Block 52 (backedge)
295 Add <- Phi#58, Constant#20 [int32] I[1, 10]: Int32
296 Box <- BitOr#79 Value
297 Goto -> block 1 None
Block 53
298 CallGetIntrinsicValue Value
299 DebugCheckSelfHosted <- CallGetIntrinsicValue#298 Value
300 Bail None
301 Unreachable None
Block 54
302 CallGetIntrinsicValue Value
303 DebugCheckSelfHosted <- CallGetIntrinsicValue#302 Value
304 Bail None
305 Unreachable None
Block 55
306 CallGetIntrinsicValue Value
307 DebugCheckSelfHosted <- CallGetIntrinsicValue#306 Value
308 Bail None
309 Unreachable None
Block 56
310 Unbox Phi#53 to Double (fallible) Double
311 Unbox Phi#54 to Double (fallible) Double
312 Add <- Unbox#310, Unbox#311 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
313 Unbox Phi#55 to Double (fallible) Double
314 Add <- Add#312, Unbox#313 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
315 Unbox Phi#56 to Double (fallible) Double
316 Add <- Add#314, Unbox#315 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
317 Unbox Phi#57 to Double (fallible) Double
318 Add <- Add#316, Unbox#317 [double] F[?, ?] (U NaN U -Infinity U Infinity U -0): Double
319 Box <- Add#318 Value
320 Return <- Box#319 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
14 Phi <- Constant#3, OsrEnvironmentChain#8 Object
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
20 Goto -> block 3 None
Block 3 (loop header)
17 Phi <- Phi#14, Phi#14 Value
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
42 Constant magic optimized-out MagicOptimizedOut
20 Goto -> block 3 None
Block 3 (loop header)
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
41 Constant magic optimized-out MagicOptimizedOut
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
40 Constant magic optimized-out MagicOptimizedOut
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
39 Constant magic optimized-out MagicOptimizedOut
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
42 Constant magic optimized-out MagicOptimizedOut
20 Goto -> block 3 None
Block 3 (loop header)
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
41 Constant magic optimized-out MagicOptimizedOut
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
40 Constant magic optimized-out MagicOptimizedOut
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
39 Constant magic optimized-out MagicOptimizedOut
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
42 Constant magic optimized-out MagicOptimizedOut
20 Goto -> block 3 None
Block 3 (loop header)
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
41 Constant magic optimized-out MagicOptimizedOut
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
40 Constant magic optimized-out MagicOptimizedOut
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
39 Constant magic optimized-out MagicOptimizedOut
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
13 Goto -> block 2 None
Block 2
15 Phi <- Constant#0, OsrReturnValue#9 Value
16 Phi <- Constant#6, OsrValue#10 Value
42 Constant magic optimized-out MagicOptimizedOut
20 Goto -> block 3 None
Block 3 (loop header)
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Value
41 Constant magic optimized-out MagicOptimizedOut
21 InterruptCheck None
22 Constant 0x2710 Int32
23 Unbox Phi#19 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
40 Constant magic optimized-out MagicOptimizedOut
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
34 Unbox Phi#19 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
39 Constant magic optimized-out MagicOptimizedOut
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
43 Box <- Constant#0 Value
12 Goto -> block 2 None
Block 1
7 OsrEntry Pointer
8 OsrEnvironmentChain <- OsrEntry#7 Object
9 OsrReturnValue <- OsrEntry#7 Value
10 OsrValue <- OsrEntry#7 Value
11 Start None
44 Unbox OsrValue#10 to Int32 (fallible) Int32
13 Goto -> block 2 None
Block 2
15 Phi <- Box#43, OsrReturnValue#9 Value
16 Phi <- Constant#6, Unbox#44 Int32
42 Constant magic optimized-out MagicOptimizedOut
20 Goto -> block 3 None
Block 3 (loop header)
18 Phi <- Phi#15, Call#33 Value
19 Phi <- Phi#16, Add#36 Int32
41 Constant magic optimized-out MagicOptimizedOut
21 InterruptCheck None
22 Constant 0x2710 Int32
45 Box <- Phi#19 Value
23 Unbox Box#45 to Int32 (fallible) Int32
24 Compare <- Unbox#23, Constant#22 Lt Bool
25 Test <- Compare#24 -> block 4, block 5 None
1
0
Block 4 (backedge)
40 Constant magic optimized-out MagicOptimizedOut
26 Constant object 104289c3f040 (LexicalEnvironment) Object
27 Constant object 104289c3e030 (global) Object
28 Constant function megaComplex (-e:25) at 104289c6c858 Object
29 Constant undefined Undefined
30 Constant 0x1 Int32
31 Constant function megaComplex (-e:25) at 104289c6c858 Object
32 GuardSpecificFunction <- Constant#28, Constant#31 Object
33 Call <- GuardSpecificFunction#32, Constant#29, Phi#19 Value
46 Box <- Phi#19 Value
34 Unbox Box#46 to Int32 (fallible) Int32
35 Constant 0x1 Int32
36 Add <- Unbox#34, Constant#35 [int32] Int32
37 Goto -> block 3 None
Block 5
39 Constant magic optimized-out MagicOptimizedOut
38 Return <- Phi#18 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 Int32
22 Constant magic optimized-out MagicOptimizedOut
23 InterruptCheck None
24 Constant 0x2710 Int32
25 Box <- Phi#21 Value
26 Unbox Box#25 to Int32 (fallible) Int32
27 Compare <- Unbox#26, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
29 Constant magic optimized-out MagicOptimizedOut
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
34 Constant 0x1 Int32
35 Constant function megaComplex (-e:25) at 104289c6c858 Object
36 GuardSpecificFunction <- Constant#32, Constant#35 Object
37 Call <- GuardSpecificFunction#36, Constant#33, Phi#21 Value
38 Box <- Phi#21 Value
39 Unbox Box#38 to Int32 (fallible) Int32
40 Constant 0x1 Int32
41 Add <- Unbox#39, Constant#40 [int32] Int32
42 Goto -> block 3 None
Block 5
43 Constant magic optimized-out MagicOptimizedOut
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant magic uninitialized-lexical MagicUninitializedLexical
6 Constant 0x0 Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 Int32
22 Constant magic optimized-out MagicOptimizedOut
23 InterruptCheck None
24 Constant 0x2710 Int32
25 Box <- Phi#21 Value
26 Unbox Box#25 to Int32 (fallible) Int32
27 Compare <- Unbox#26, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
29 Constant magic optimized-out MagicOptimizedOut
30 Constant object 104289c3f040 (LexicalEnvironment) Object
31 Constant object 104289c3e030 (global) Object
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
34 Constant 0x1 Int32
35 Constant function megaComplex (-e:25) at 104289c6c858 Object
36 GuardSpecificFunction <- Constant#32, Constant#35 Object
37 Call <- GuardSpecificFunction#36, Constant#33, Phi#21 Value
38 Box <- Phi#21 Value
39 Unbox Box#38 to Int32 (fallible) Int32
40 Constant 0x1 Int32
41 Add <- Unbox#39, Constant#40 [int32] Int32
42 Goto -> block 3 None
Block 5
43 Constant magic optimized-out MagicOptimizedOut
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 Int32
23 InterruptCheck None
24 Constant 0x2710 Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 Int32
41 Add <- Phi#21, Constant#40 [int32] Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 Int32
23 InterruptCheck None
24 Constant 0x2710 Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 Int32
41 Add <- Phi#21, Constant#40 [int32] Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 Int32
23 InterruptCheck None
24 Constant 0x2710 Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
48 Beta <- Phi#21 F[?, 9999] (U -Infinity U -0) Int32
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Beta#48 Value
40 Constant 0x1 Int32
41 Add <- Beta#48, Constant#40 [int32] Int32
42 Goto -> block 3 None
Block 5
47 Beta <- Phi#21 F[10000, ?] (U NaN U Infinity) Int32
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
48 Beta <- Phi#21 F[?, 9999] (U -Infinity U -0) I[-2147483648, 9999] (U -0): Int32
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Beta#48 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Beta#48, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
47 Beta <- Phi#21 F[10000, ?] (U NaN U Infinity) I[10000, 2147483647]: Int32
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
6 Constant 0x0 I[0, 0]: Int32
7 Box <- Constant#0 Value
8 Goto -> block 2 None
Block 1
9 OsrEntry Pointer
10 OsrEnvironmentChain <- OsrEntry#9 Object
11 OsrReturnValue <- OsrEntry#9 Value
12 OsrValue <- OsrEntry#9 Value
13 Start None
14 Unbox OsrValue#12 to Int32 (fallible) Int32
15 Goto -> block 2 None
Block 2
16 Phi <- Box#7, OsrReturnValue#11 Value
17 Phi <- Constant#6, Unbox#14 Int32
18 Constant magic optimized-out MagicOptimizedOut
19 Goto -> block 3 None
Block 3 (loop header)
20 Phi <- Phi#16, Call#37 Value
21 Phi <- Phi#17, Add#41 I[-2147483648 {#17}, 2147483647 {[loop] +9999}]: Int32
23 InterruptCheck None
24 Constant 0x2710 I[10000, 10000]: Int32
27 Compare <- Phi#21, Constant#24 Lt Bool
28 Test <- Compare#27 -> block 4, block 5 None
1
0
Block 4 (backedge)
32 Constant function megaComplex (-e:25) at 104289c6c858 Object
33 Constant undefined Undefined
37 Call <- Constant#32, Constant#33, Phi#21 Value
40 Constant 0x1 I[1, 1]: Int32
41 Add <- Phi#21, Constant#40 [int32] I[-2147483647, 10000]: Int32
42 Goto -> block 3 None
Block 5
44 Return <- Phi#20 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None
Block 0
0 Constant undefined Undefined
1 Start None
2 CheckOverRecursed None
3 Constant object 104289c3f040 (LexicalEnvironment) Object
4 GlobalDeclInstantiation None
5 Constant 0x0 I[0, 0]: Int32
6 Box <- Constant#0 Value
7 Goto -> block 2 None
Block 1
8 OsrEntry Pointer
9 OsrEnvironmentChain <- OsrEntry#8 Object
10 OsrReturnValue <- OsrEntry#8 Value
11 OsrValue <- OsrEntry#8 Value
12 Start None
13 Unbox OsrValue#11 to Int32 (fallible) Int32
14 Goto -> block 2 None
Block 2
15 Phi <- Box#6, OsrReturnValue#10 Value
16 Phi <- Constant#5, Unbox#13 Int32
17 Constant magic optimized-out MagicOptimizedOut
18 Goto -> block 3 None
Block 3 (loop header)
19 Phi <- Phi#15, Call#28 Value
20 Phi <- Phi#16, Add#29 I[-2147483648 {#16}, 2147483647 {[loop] +9999}]: Int32
21 InterruptCheck None
22 Constant 0x2710 I[10000, 10000]: Int32
23 Compare <- Phi#20, Constant#22 Lt Bool
24 Test <- Compare#23 -> block 4, block 5 None
1
0
Block 4 (backedge)
25 Constant function megaComplex (-e:25) at 104289c6c858 Object
26 Constant undefined Undefined
27 Constant 0x1 I[1, 1]: Int32
28 Call <- Constant#25, Constant#26, Phi#20 Value
29 Add <- Phi#20, Constant#27 [int32] I[-2147483647, 10000]: Int32
30 Goto -> block 3 None
Block 5
31 Return <- Phi#19 None